문제

스트럿으로 로그인 페이지를 만들려고합니다. 아이디어는 사용자가 존재하는지 확인한 다음 오류가 있으면 오류가 빨간색으로 로그인 페이지로 돌아가는 것입니다 (일반 로그인 또는 양식 페이지 유효성 검증).

누군가가 Struts에서 오류 관리 자습서를 알고 있는지 알고 싶습니다. 나는 특별히

<html:errors>

내 문제를 해결할 것이라고 생각하는 태그.

도움이 되었습니까?

해결책

다음은 빠른 요약입니다. 당신은 있습니다 ActionForm 수업 MyForm:

<form-bean name="myForm" type="myapp.forms.MyForm"/>

당신은 있습니다 Action 수업 MyAction:

<action path="/insert" type="myapp.actions.MyAction" name="myForm"
   input="/insert.jsp" validate="true" />
  <forward name="success" path="/insertDone.jsp"/>
</action>

행동의 "이름"은 Form-Bean의 "이름"을 나타냅니다. 당신은 가지고 있기 때문에 validate="true" 당신의 ActionForm 수업 MyForm 정의해야합니다 validate() 자동으로 호출되는 메소드 :

public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) {
  ActionErrors errors = new ActionErrors();
  if ((username==null) || (username.length() < 1)) 
      errors.add("username", new ActionError("error.username.required"));
  return errors;
}

빈 액션 오버러 객체를 반환하면 스트럿은 계속해서 myAction.Execute ()를 호출합니다. 그렇지 않으면 Struts는 /insert.jsp를 표시하고 (입력 = Parm이기 때문에) HTML.errors 태그를 확장하여 ActionErrors에서 오류를 표시합니다.

다른 팁

다음은 다음과 같습니다

여기서 나는 스트럿 1을 가정하고 있다고 가정한다. 나는 그것이 스트럿 2에 대해 변경되었는지 모른다.

메시지 자료 파일에 오류를 넣을 수 있습니다.

errors.header=<h3><font color="red">Errors:</font></h3><ul>
errors.footer=</ul>

헤더와 바닥 글은 actionerrors 객체에 오류가있는 경우에만 표시됩니다.

액션 클래스에서 다음을 수행하십시오.

ActionErrors errors = new ActionErrors();
if (badInput) {
  errors.add(ActionErrors.GLOBAL_ERROR,
    new ActionError("error.bad.input", badString);    // key in messages resource file
                                    // badString will replace {0} in message
}

그런 다음 돌아 오기 전에 :

saveErrors(request, errors);

메시지 자원 파일에서 :

error.bad.input=<li>Bad input:  '{0}' is invalid.</li>

이제 <html:errors/> 태그가 처리되면 다음으로 전환됩니다.

<h3><font color="red">Errors:</font></h3><ul>
<li>Bad input: 'xxyyzzz' is invalid.<li>
</ul>

스트럿 행동 :

ActionErrors errors = new ActionErrors();
errors.add("", new ActionMessage("login.msg.err"));
saveErrors(request, errors);

"hello.msg.err"는 MessageBundle.Properties에서 정의됩니다

login.msg.err=Wrong user name or password

귀하의 JSP에서는 h : 오류 태그로 오류가 표시됩니다.

<h:errors/>

이 비디오는 단계별로 보여주고 모든 것을 설명합니다.https://youtu.be/yccsjtqi72a

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top