2013-06-17 7 views
1

조건부로 CSS의 CSS를 설정하려고합니다. 나는 이런 식으로 뭔가를 내 액션 클래스에서struts 2에서 변수를 jsp에서 사용할 수 있습니다.

<s:textfield name="registerBean.email" placeholder="Email Address*" cssClass="INSERT userNameError here" required="" /> 
<s:textfield name="registerBean.userName" placeholder="Username*" cssClass="INSERT emailError here" required="" /> 

: 이것은 JSP의 라인입니다

package actions; 

import javax.persistence.EntityManager; 
import javax.persistence.EntityManagerFactory; 
import javax.persistence.Persistence; 

import service.implementations.UserServiceImplementation; 
import service.interfaces.UserService; 
import util.REGISTER_RESULT; 

import com.opensymphony.xwork2.ActionSupport; 

import entities.User; 

public class Register extends ActionSupport { 

    private User registerBean; 
    private String userNameError = "register"; 
    private String emailError = "register"; 

    @Override 
    public String execute() 
    { 
     EntityManagerFactory emf = Persistence.createEntityManagerFactory("ExamModulePu"); 
     EntityManager em = emf.createEntityManager(); 
     UserService service = new UserServiceImplementation(em); 
     REGISTER_RESULT result = service.registerUser(registerBean); 


     if(result.isDuplicateEmail()) 
      setEmailError("register error"); 
     if(result.isDuplicateUserName()) 
      setUserNameError("register error"); 
     em.close(); 
     emf.close(); 
     return result.toString(); 
    } 

    public User getRegisterBean() { 
     return registerBean; 
    } 

    public void setRegisterBean(User registerBean) { 
     this.registerBean = registerBean; 
    } 

    public String getEmailError() { 
     return emailError; 
    } 

    public void setEmailError(String emailError) { 
     this.emailError = emailError; 
    } 

    public String getUserNameError() { 
     return userNameError; 
    } 

    public void setUserNameError(String userNameError) { 
     this.userNameError = userNameError; 
    } 
} 

내가 JSP로 이러한 변수를 사용할 수 있도록에 대해 어떻게 갈 수 있나요? 아니면 내가하려는 일을 성취 할 수있는 더 좋은 방법이 있습니까?

답변

1

유효성 검사에 실패한 필드에 CSS 클래스를 지정하면 cssErrorClass 속성을 사용할 수 있습니다.

<s:textfield name="registerBean.userName" placeholder="Username*" cssErrorClass="register error" required="" /> 

그리고 액션 사용 addFieldError 방법

특정 필드에 오류를 추가 할 수 있습니다.

+0

struts2가 그렇게 강력한 것은 아니 었습니다. 이런 멋진 것들을 배울 수있는 곳을 아십니까? 감사합니다 –

+0

문서 : http://struts.apache.org/development/2.x/docs/home.html. –

관련 문제