溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

利用java如何實(shí)現(xiàn)在刪除信息后刷新頁(yè)面功能

發(fā)布時(shí)間:2020-11-17 14:25:49 來(lái)源:億速云 閱讀:421 作者:Leah 欄目:開(kāi)發(fā)技術(shù)

這篇文章給大家介紹利用java如何實(shí)現(xiàn)在刪除信息后刷新頁(yè)面功能,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

我就廢話(huà)不多說(shuō)了,大家還是直接看代碼吧~

//執(zhí)行的是刪除信息的操作
 String a=request.getParameter("name");
  a = URLEncoder.encode(a, "ISO-8859-1");
  String name = URLDecoder.decode(a, "UTF-8");
 String num=request.getParameter("num");
 System.out.println("name:"+name+"num:"+num);
 String sql="delete from person_info where name=? and num=?";
 String sz[]={name,num};
 JdbcUtils.update(sql, sz);
 //刷新操作
 String sqls="select * from person_info";
 ResultSet rs=JdbcUtils.select(sqls, null);
 ArrayList<Person_info> list=new ArrayList<Person_info>();
 try {
  while(rs.next()){
  Person_info pi=new Person_info(rs.getString(1), rs.getString(2), rs.getString(3), rs.getString(4), rs.getString(5), rs.getString(6));
  list.add(pi);
  }
  request.setAttribute("list", list);
  request.getRequestDispatcher("Personnel_definition.jsp").forward(request, response);
 } catch (SQLException e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
 }
 
 
 }

利用java如何實(shí)現(xiàn)在刪除信息后刷新頁(yè)面功能

補(bǔ)充知識(shí):關(guān)于分頁(yè)時(shí)怎么實(shí)現(xiàn)當(dāng)本頁(yè)面最后一條記錄被刪除時(shí),自動(dòng)向上一個(gè)頁(yè)面跳轉(zhuǎn)的實(shí)現(xiàn)(java實(shí)現(xiàn))

##問(wèn)題詳解

在做批量刪除時(shí),發(fā)現(xiàn)若批量刪除整頁(yè)時(shí),會(huì)自動(dòng)跳到第一頁(yè)首頁(yè),而不是返回刪除當(dāng)前頁(yè)的上一頁(yè),不符合產(chǎn)品要求且使界面交互不好,給用戶(hù)帶來(lái)糟糕體驗(yàn)。

##思路詳解

在controller層傳參時(shí)要考慮到不僅要傳入需要?jiǎng)h除的id集合,同時(shí)傳入pageSize,pageNum以及總條數(shù)集合的查詢(xún)條件(如:本示例會(huì)傳入groupId(分組id)),在刪除成功后初始化當(dāng)前頁(yè),先根據(jù)查詢(xún)條件查詢(xún)出總條數(shù)數(shù)量,在pageSize不等于null或?yàn)?的情況下。算出余數(shù)[(pageSize*pageNum-count)%pageSize ].若余數(shù)為0,則當(dāng)前頁(yè)等于pageNum-1;若余數(shù)不為0,則當(dāng)前頁(yè)=pageNum.將結(jié)果當(dāng)前頁(yè)傳給前臺(tái)即可。

##后臺(tái)代碼實(shí)現(xiàn)

#controller層#

@Api(description = "分組下的學(xué)生",value = "分組下的學(xué)生")
@RestController
@RequestMapping("studentGroup")
public class StudentGroupController {
 @Autowired
 private RestStudentGroupService restStudentGroupService;


 @RequestMapping(value = "deleteGroupStudent",method = RequestMethod.POST)
 @ApiOperation(value = "刪除分組中的學(xué)生",notes = "刪除分組中的學(xué)生")
 public ResponseObj deleteGroupStudent(@RequestParam(value = "groupId",required = true)Long groupId,
     @RequestParam(value = "ids",required = true)String ids,
     @RequestParam(value = "pageSize",required = false)Integer pagesize,
     @RequestParam(value = "pageNum",required = false)Integer pageNum){

 return restStudentGroupService.deleteGroupStudent(groupId,ids,pagesize,pageNum);
 }
 }

#service層#

@FeignClient(value = ServiceName.VALUE)
public interface RestStudentGroupService {

 @RequestMapping(value = "/school/cloud/student/deleteGroupStudent",method = RequestMethod.POST)
 public ResponseObj deleteGroupStudent(@RequestParam(value = "groupId")Long groupId,
     @RequestParam(value = "ids")String ids,
     @RequestParam(value = "pageSize")Integer pagesize,
     @RequestParam(value = "pageNum")Integer pageNum);
     }

#serviceImpl層#

@Service
public class RestStudentGroupServiceImpl implements RestStudentGroupService {

 @Autowired
 private DubboStudentGroupService dubboStudentGroupService ;
 @Override
 public ResponseObj deleteGroupStudent(Long groupId,String ids,Integer pageSize,Integer pageNum) {

 List<Long> idList = TextUtils.split(ids);
 if(groupId == null || idList== null || idList.size() == 0){
  ResponseObj responseObj = ResponseObj.ERROR("參數(shù)錯(cuò)誤");
  responseObj.setSuccess(true);
  return responseObj;
 }
 ServiceResult<Long> serviceResult = dubboStudentGroupService .deleteCorpGroup(idList, groupId);
 if(!serviceResult.getSuccess()){
  throw new RuntimeException("分組下學(xué)生查詢(xún)失敗");
 }
 //應(yīng)前端要求加此dto,封裝傳給前臺(tái)的當(dāng)前頁(yè)屬性
 CurrenPageDto currenPageDto=new CurrenPageDto();
 //初始化當(dāng)前頁(yè)
 Integer currentPage = 1;
 //查出該分組id下的學(xué)生數(shù)量
 ServiceResult<Long> itemCountLongs = dubboStudentGroupService.getTotalCount(groupId);
 Long itemCountLong= itemCountLongs.getResult();
 Integer itemCount = itemCountLong!=null &#63; itemCountLong.intValue() : 0;
 //"查詢(xún)到學(xué)生數(shù)量:{},pageSize:{}", itemCount,pageSize;
 if(pageSize != null && pageSize != 0){
  //算出余數(shù)
  Integer temp = (pageNum*pageSize-itemCount)%pageSize;
  if(temp == 0){
  //余數(shù)為0的話(huà)就pageNum-1
  currentPage = (pageNum - 1) == 0 &#63; 1 : (pageNum -1) ;
  }else {
  //余數(shù)不為0則等于pageNum
  currentPage = pageNum;
  }
  currenPageDto.setPresentPage(currentPage);
 }
 ResponseObj responseObj = ResponseObj.SUCCESS();
 responseObj.setData(currenPageDto);
 return responseObj;
 }
}

#dubbo接口的service層#

①://刪除分組下的學(xué)生
ServiceResult<Long> deleteCorpGroup(List<Long> idList,Long groupId);
②://根據(jù)條件查詢(xún)對(duì)應(yīng)的條目總數(shù)
ServiceResult<Long> getTotalCount(Long groupId);

#dubbo接口的serviceImpl層#

①://刪除分組下的學(xué)生
 @Override
 public ServiceResult<Long> deleteCorpGroup(List<Long> idList, Long groupId) {
 ServiceResult<Long> result = new ServiceResult<>();

 try {
  studentGroupDao.deleteCorpGroup(idList, groupId);
 } catch (Exception e) {
  log.error("調(diào)用{}方法 異常", "[RestStudentGroupServiceImpl .deleteCorpGroup]");
  log.error("方法使用參數(shù):[idList:{},groupId:{}]", idList, groupId);
  log.error("異常信息:{}", e);
  result.setErrMessage("調(diào)用deleteCorpGroup方法異常,異常信息:" + e.getMessage());
 }

 return result;
 }
②://根據(jù)條件查詢(xún)對(duì)應(yīng)的條目總數(shù)
 @Override
 public ServiceResult<Long> getTotalCount(Long groupId) {
 ServiceResult<Long> result = new ServiceResult<>();

 try {
  long count = studentGroupDao.getFindCorpGroupDirectoryCount(groupId);
  result.setResult(count);
 } catch (Exception e) {
  log.error("調(diào)用{}方法 異常", "[RestStudentGroupServiceImpl .getTotalCount]");
  log.error("方法使用參數(shù):[groupId:{}]", groupId);
  log.error("異常信息:{}", e);
  result.setErrMessage("調(diào)用getTotalCount方法異常,異常信息:" + e.getMessage());
 }
 return result;
 }

#dubbo接口的dao層#

①://刪除分組下的學(xué)生
 Long deleteCorpGroup(@Param(value = "idList") List<Long> idList,@Param(value = "groupId") Long groupId);
②://根據(jù)條件查詢(xún)對(duì)應(yīng)的條目總數(shù)
Long getFindCorpGroupDirectoryCount(@Param(value = "groupId") Long groupId);

#dubbo接口的sql#

①://刪除分組下的學(xué)生
 <delete id="deleteCorpGroup">
 delete from student_group where group_id = #{groupId} and id in
 <foreach collection="idList" index="index" separator="," item="id"
   open="(" close=")">
  #{id}
 </foreach>
 </delete>
②://根據(jù)條件查詢(xún)對(duì)應(yīng)的條目總數(shù)
 <select id="getFindCorpGroupDirectoryCount" resultType="long">
 SELECT COUNT(1)
 FROM student_group 
 where group_id = #{groupId}
 </select>

#Entity類(lèi)(學(xué)生分組類(lèi))#(get,set函數(shù)省略)

public class StudentGroup implements java.io.Serializable {
 
 /**
 * 
 */
 private static final long serialVersionUID = 1L;
 /**
 * @描述: 
 * @字段:id BIGINT(19) 
 */ 
 private Long StudentGroupId;

 /**
 * @描述: 
 * @字段:group_id BIGINT(19) 
 */ 
 private Long groupId;

 /**
 * @描述: 
 * @字段:id BIGINT(19) 
 * 此id為學(xué)生表id
 */ 
 private Long id;

 /**
 * @描述:創(chuàng)建時(shí)間 
 * @字段:create_time DATETIME(19) 
 */ 
 private java.util.Date createTime;

 * @描述:創(chuàng)建人用戶(hù)名 
 * @字段:create_user_name VARCHAR(30) 
 */ 
 private String createUserName;

 /**
 * @描述:創(chuàng)建人用戶(hù)ID 
 * @字段:create_user_id BIGINT(19) 
 */ 
 private Long createUserId;

 /**
 * @描述:更新時(shí)間 
 * @字段:update_time DATETIME(19) 
 */ 
 private java.util.Date updateTime;

 * @描述:更新人用戶(hù)名 
 * @字段:update_user_name VARCHAR(30) 
 */ 
 private String updateUserName;

 /**
 * @描述:更新人用戶(hù)ID 
 * @字段:update_user_id BIGINT(19) 
 */ 
 private Long updateUserId;
 }

#Entity類(lèi)(學(xué)生類(lèi))#(get,set函數(shù)省略)

public class Student implements java.io.Serializable {
 /**
 * 
 */
 private static final long serialVersionUID = 1L;

 private Long id;
 private String name ;
 private Integer age;
 }

關(guān)于利用java如何實(shí)現(xiàn)在刪除信息后刷新頁(yè)面功能就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI