您好,登錄后才能下訂單哦!
這篇文章給大家介紹利用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(); } }
補(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 ? 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 ? 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ò),可以把它分享出去讓更多的人看到。
免責(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)容。