1.변경 버튼 클릭시,팝업 (0)
2.팝업화면에서 기존 비밀번호 데이터 가져오기 (0)
3.팝업화면에서 신규 비밀번호 입력받은 데이터 가져오기 (X)
1. 팝업 띠울때 Model에 있는 companyId와 TelNO 을 넘겨준다.
Sys01_CompanyModel(해당 Model)
Sys01_Lookup_Company / open 메서드로 가라(비밀번호 변경을 위한 팝업 페이지)
Sys01_CompanyModel passWordModel = grid.getSelectionModel().getSelectedItem();
Sys01_Lookup_Company lookupPW = new Sys01_Lookup_Company();
lookupPW.open(passWordModel.getTelNo02(), passWordModel.getCompanyId(), new InterfaceCallbackResult() {
2.Sys01_Lookup_Company / open 메서드 호출시 데이터를 받을수 있도록 open 메서드 아규먼트 형태를 만들어준다.
public void open (String oldPw, Long companyId, InterfaceCallbackResult callback) {
open 메서드에 아규먼트로 oldPw, companyId으로 받아준다.
*call-by-value 매커니즘은 함수로 인자를 전달할 때 전달될 변수의 값을 복사하여 함수의 인자로 전달한다. 또한 복사된 값은 함수 내에서 local value 다.*
그러므로 전역변수로 사용할 수 있도록 Long companyId; 선언한다.
open메서드에 인자로 전달할 수 있도록 한
public void open (String oldPw, Long companyId, InterfaceCallbackResult callback) { 에서 전달 받은 값을 변수에 넣어준다.
this.companyId = companyId;
oldPassWord.setValue(oldPw);
this.callback = callback;
3. 신규비밀번호 변경 후 저장버튼 클릭시 updatePw()메서드에서 데이터를 처리해 준다.
데이터값을 전체를 넘겨서 넣을떄 사용하는 editDriver.flush() 처음에는 이걸 사용했지만
업데이트할 데이터가 2개 임으로 ServiceRequest을 사용하여 데이터를 한개씩 처리했다.
ServiceRequest request = new ServiceRequest("sys.Sys01_Company.updatePw");
request.putLongParam("companyId", companyId);
request.putStringParam("newPassWord",newPassWord.getValue());
ServiceCall service = new ServiceCall();
service.execute(request, this);
-> 클라이언트 단에서 rquest 요청한다.
4. 서버 단에서 updatePw() 메서드 ./HashMap으로 처리한다.
public void updatePw(SqlSession sqlSession, ServiceRequest request, ServiceResult result) {
Map<String,Object> param = new HashMap<String, Object>(); // String 형태, Object는 (Long, String 형태 다 받을 수 있다.)
param.put("companyId", request.getLongParam("companyId")); // 실제 디비에 칼럼값 "", 클라이언트에서 request 보낸 형태를 request.getLongParam("companyId")
param.put("telNo02", request.getStringParam("newPassWord"));
sqlSession.update("sys01_company.updatePw", param);
result.setStatus(1); //1:정상 (0으로 했을경우 에러메시지가 보여진다.)
}
5. xml 에 update 문을 만들어준다.
<update id="updatePw" parameterType="HashMap" >
update sys01_company
set sys01_tel2 = #{telNo02}
where sys01_company_id = #{companyId}
</update>
'코딩이 쉬워진다! > 01. java' 카테고리의 다른 글
이클립스 cafe24 연동 (0) | 2018.11.08 |
---|---|
첨부파일 삽질일지 (0) | 2018.10.26 |
Git Hub 사용법 (0) | 2018.08.17 |
BMI 비만도 측정하기 (0) | 2018.01.21 |
study 계획 (1) | 2018.01.20 |