자바 는 어떤 정 보 를 삭제 하고 현재 페이지 를 새로 고침 합 니 다.
//
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();
}
}
보충 지식:페이지 를 나 눌 때 이 페이지 의 마지막 기록 이 삭 제 될 때 자동 으로 이전 페이지 로 이동 하 는 실현(자바 실현)
문제
대량 삭 제 를 할 때 전체 페이지 를 대량으로 삭제 하면 자동 으로 첫 페이지 의 첫 페이지 로 넘 어 가 는 것 을 발견 합 니 다.현재 페이지 를 삭제 한 이전 페이지 로 돌아 가 는 것 이 아니 라 제품 의 요구 에 부합 되 지 않 고 인터페이스 의 상호작용 이 좋 지 않 아 사용자 에 게 나 쁜 체험 을 가 져 다 줍 니 다.
\#\#사고방식 상세 설명
controller 층 에서 참 조 를 전달 할 때 삭제 해 야 할 id 집합 뿐만 아니 라 pageSize,pageNum 및 총 항목 수 집합 에 들 어 가 는 조회 조건(예 를 들 어 이 예제 가 groupId(그룹 id)에 들 어 갈 뿐만 아니 라 삭제 에 성공 한 후에 현재 페이지 를 초기 화 하 는 것 을 고려 해 야 합 니 다.먼저 조회 항목 에 따라 총 항목 수 를 조회 하고 pageSize 가 null 이나 0 이 아 닌 경우.나머지[(pageSize*pageNum-count)%pageSize]를 계산 합 니 다.나머지 가 0 이면 현재 페이지 는 pageNum-1 과 같 습 니 다.나머지 가 0 이 아니라면 현재 페이지=pageNum.결 과 를 현재 페이지 로 전송 하면 됩 니 다.
\#\#배경 코드 구현
\#controller 층\#
@Api(description = " ",value = " ")
@RestController
@RequestMapping("studentGroup")
public class StudentGroupController {
@Autowired
private RestStudentGroupService restStudentGroupService;
@RequestMapping(value = "deleteGroupStudent",method = RequestMethod.POST)
@ApiOperation(value = " ",notes = " ")
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(" ");
responseObj.setSuccess(true);
return responseObj;
}
ServiceResult<Long> serviceResult = dubboStudentGroupService .deleteCorpGroup(idList, groupId);
if(!serviceResult.getSuccess()){
throw new RuntimeException(" ");
}
// dto,
CurrenPageDto currenPageDto=new CurrenPageDto();
//
Integer currentPage = 1;
// id
ServiceResult<Long> itemCountLongs = dubboStudentGroupService.getTotalCount(groupId);
Long itemCountLong= itemCountLongs.getResult();
Integer itemCount = itemCountLong!=null ? itemCountLong.intValue() : 0;
//" :{},pageSize:{}", itemCount,pageSize;
if(pageSize != null && pageSize != 0){
//
Integer temp = (pageNum*pageSize-itemCount)%pageSize;
if(temp == 0){
// 0 pageNum-1
currentPage = (pageNum - 1) == 0 ? 1 : (pageNum -1) ;
}else {
// 0 pageNum
currentPage = pageNum;
}
currenPageDto.setPresentPage(currentPage);
}
ResponseObj responseObj = ResponseObj.SUCCESS();
responseObj.setData(currenPageDto);
return responseObj;
}
}
\#dubbo 인터페이스의 service 층\#
①://
ServiceResult<Long> deleteCorpGroup(List<Long> idList,Long groupId);
②://
ServiceResult<Long> getTotalCount(Long groupId);
\#dubbo 인터페이스의 serviceImpl 층\#
①://
@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(" {} ", "[RestStudentGroupServiceImpl .deleteCorpGroup]");
log.error(" :[idList:{},groupId:{}]", idList, groupId);
log.error(" :{}", e);
result.setErrMessage(" deleteCorpGroup , :" + e.getMessage());
}
return result;
}
②://
@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(" {} ", "[RestStudentGroupServiceImpl .getTotalCount]");
log.error(" :[groupId:{}]", groupId);
log.error(" :{}", e);
result.setErrMessage(" getTotalCount , :" + e.getMessage());
}
return result;
}
\#dubbo 인터페이스의 dao 층\#
①://
Long deleteCorpGroup(@Param(value = "idList") List<Long> idList,@Param(value = "groupId") Long groupId);
②://
Long getFindCorpGroupDirectoryCount(@Param(value = "groupId") Long groupId);
\#dubbo 인터페이스의 sql\#
①://
<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>
②://
<select id="getFindCorpGroupDirectoryCount" resultType="long">
SELECT COUNT(1)
FROM student_group
where group_id = #{groupId}
</select>
\#Entity 클래스(학생 그룹 클래스)\#(get,set 함수 생략)
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 id
*/
private Long id;
/**
* @ :
* @ :create_time DATETIME(19)
*/
private java.util.Date createTime;
* @ :
* @ :create_user_name VARCHAR(30)
*/
private String createUserName;
/**
* @ : ID
* @ :create_user_id BIGINT(19)
*/
private Long createUserId;
/**
* @ :
* @ :update_time DATETIME(19)
*/
private java.util.Date updateTime;
* @ :
* @ :update_user_name VARCHAR(30)
*/
private String updateUserName;
/**
* @ : ID
* @ :update_user_id BIGINT(19)
*/
private Long updateUserId;
}
\#Entity 클래스(학생 클래스)\#(get,set 함수 생략)
public class Student implements java.io.Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
private Long id;
private String name ;
private Integer age;
}
이상 의 이 자바 는 어떤 정 보 를 삭제 하고 현재 페이지 를 새로 고침 하 는 작업 을 실현 하 는 것 이 바로 작은 편집 이 여러분 에 게 공유 하 는 모든 내용 입 니 다.여러분 에 게 참고 가 되 고 여러분 들 이 저 희 를 많이 지지 해 주시 기 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.