2011-08-05 6 views
2

페이지의 양식 유효성 검사 기능이 개선되었습니다.Java struts는 인덱스에서 속성을 가져옵니다.

이 사이트는 .jsp를 사용/빈/스트럿 등 현재 화면에 오류를 인쇄 할 수있는 페이지의 상단에 루프가 :

검증 나는 기존의 방법을 변경 한 실패 이제
<nested:iterate id="currentError" property="wizard.errors" type="java.lang.String" indexId="counter"> 
    <tr> 
     <td valign="top" class="wizardErrorText" width="2%"> 
      &gt; 
     </td> 
     <td class="wizardErrorText"> 
      <span errorId=""> 
       <bean:write name="currentError"/> 
      </span> 
     </td> 
    </tr> 
</nested:iterate> 

유효성 검사에 실패한 필드의 ID와 오류 메시지를 나타 내기 위해 약간 나타납니다. 그런 다음 비슷한 루프를 설정하여 유효성 검사에 실패한 필드의 ID를 JavaScript로 읽은 다음 해당 필드를 강조 표시합니다.

다른 루프를 사용하는 대신 indexId를 사용하여 배열의 값을 찾고 errorId에 포함시키고 싶습니다.

아무에게도이 방법을 알려 줄 수 있습니까?

나는 jsp.getProperty와 몇 가지 다른 방법을 시도했지만 운이 없었습니다.

감사 게리

+0

* 배열 또는 * 배열에서? 그것은 currentError가 HashMap 인 것처럼 보이지 않으므로 ID가 별도의 병렬 배열에 있습니까? –

+0

예 아이디어가 병렬 배열에, 나는 첫 번째 배열에서 반복 카운터를 사용하여 불행하게도 다른 테이블의 해당 항목을 골라 내길 바랬습니다 wizard.erroredInputs [카운터]가 작동하지 않거나 다른 방법으로 시도한 것 같아요. . – Gary

답변

1
당신은 이런 일을 할 수 있어야한다

:

<bean:write name="wizard" property="erroredInputs[counter]" /> 

을 또는 전체 예제 :

<nested:iterate id="currentError" property="wizard.errors" type="java.lang.String" indexId="counter"> 
    <tr> 
     <td valign="top" class="wizardErrorText" width="2%"> 
      &gt; 
     </td> 
     <td class="wizardErrorText"> 
      <span errorId="<bean:write name="wizard" property="erroredInputs[counter]" />"> 
       <bean:write name="currentError"/> 
      </span> 
     </td> 
    </tr> 
</nested:iterate> 

자세한 내용은 여기에서 찾을 수 있습니다 : https://struts.apache.org/1.x/struts-taglib/indexedprops.html

관련 문제