J2EE 의 struts 2 폼 디 테 일 처리

3642 단어 j2eestruts2양식
/struts-tags 에 라벨 이 많이 들 어 있어 요.
예 를 들 어 간단 한 로그 인 폼 은 여러 가지 스타일 을 가지 고 있 습 니 다.실제로 struts 의 실제 기능 을 사용 하지 않 을 때 사용 하 는 것 을 권장 하지 않 습 니 다.

   <s:form  action="user_save">
     <s:token></s:token>
       <s:textfield name="username" label="   "></s:textfield>
       <s:textfield name="pwd" label="  "></s:textfield>
       <s:submit value="  "></s:submit>
     </s:form>
속성 theme="simple"을 설정 하여 그 가 가지 고 있 는 스타일 을 취소 할 수 있 습 니 다.
그 다음으로 Model Driven 은 실체 류 를 페이지 데이터 의 수집 대상 으로 직접 생각 한 다 는 뜻 이다.Action 에서 ModelDriven 인 터 페 이 스 를 실현 하면 실체 클래스 대상 의 속성 값 을 편리 하 게 할당 할 수 있 습 니 다.그러나 Action 에서 실체 클래스 대상 은 new 로 나 와 ModelDriven 의 getModel 방법 을 다시 써 야 합 니 다.반환 값 은 실체 클래스 대상 코드 입 니 다.다음 과 같 습 니 다.

package com.xinzhi.action;
import java.util.List;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
import com.opensymphony.xwork2.util.ValueStack;
import com.xinzhi.dao.impl.UserDaoImpl;
import com.xinzhi.entity.UserEntity;
public class UserAction extends ActionSupport implements
    ModelDriven<UserEntity> {
  private static final long serialVersionUID = 1L;
  private UserEntity userEntity = new UserEntity();
  UserDaoImpl userDaoImpl = new UserDaoImpl();
  public UserEntity getUserEntity() {
    return userEntity;
  }
  public void setUserEntity(UserEntity userEntity) {
    this.userEntity = userEntity;
  }
  public UserEntity getModel() {
    return userEntity;
  }
}
그 다음 에 폼 의 데 이 터 를 보 여 줍 니 다.Action 에서 실체 클래스 대상 을(ValueStack)스 택 에 눌 러 놓 은 다음 에 페이지 에서 스 택 에서 원 하 는 값 을 꺼 냅 니 다.방법 은 다음 과 같 습 니 다.

public String view() {
    UserEntity selectAUserEntity = userDaoImpl.selectAUserEntity(userEntity
        .getId());
    ValueStack valueStack = ActionContext.getContext().getValueStack();
    valueStack.pop();
    valueStack.push(selectAUserEntity);
    return "view";
  }
마지막 으로 폼 의 중복 제출 을 방지 하 는 방법 token 입 니 다.제 가 이해 하 는 것 은 폼 에태그 가 있 을 때 폼 을 제출 하 는 동시에 폼 페이지 와 action 에서 같은 ID 값 을 무 작위 로 생 성 합 니 다.처음 제출 한 폼 이 받 아들 여 졌 을 때 이 ID 는 삭 제 됩 니 다.중복 제출 되 었 을 때 해당 하 는 ID 값 을 찾 지 못 해 중복 제출 할 수 없습니다.그리고 잘못된 명령 을 내 리 는 오류 코드 는 다음 과 같 습 니 다.
폼 코드

 <s:form  action="user_save">
       <s:token></s:token>
       <s:textfield name="username" label="   "></s:textfield>
       <s:textfield name="pwd" label="  "></s:textfield>
       <s:submit value="  "></s:submit>
     </s:form>
그리고 struts.xml 설정 파일 에 대응 하 는 차단 기 를 사용 하고 중복 제출 시 잘못된 명령 이 다음 과 같은 페이지 코드 로 전 환 됩 니 다.

 <action name="user_*" class="com.xinzhi.action.UserAction" method="{1}">
      <interceptor-ref name="defaultStack"></interceptor-ref>
      <interceptor-ref name="token">
        <param name="includeMethods">save</param>
      </interceptor-ref>
    </action>
위 에서 말씀 드 린 것 은 편집장 님 께 서 소개 해 주신 J2EE 의 struts 2 폼 의 디 테 일 한 처리 입 니 다.여러분 께 도움 이 되 셨 으 면 좋 겠 습 니 다.궁금 한 점 이 있 으 시 면 메 시 지 를 남 겨 주세요.편집장 님 께 서 바로 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기