2010-11-24 5 views
0

Struts 1을 사용하는 기존 코드를 리팩터링하고 Action 클래스에서 설정 한 매개 변수를 검색하는 데 어려움을 겪고 있습니다. 여기에 내가 내 JSP에서 사용하고 코드입니다 : Struts 1에서 JSTL을 사용하여 요청 범위 변수를 검색하는 방법

내가 액션 클래스에서 변수 submissionFailure 설정은,하지만 난

<c:out value="${requestScope[cardHolderZipCode]}" />

또는

<c:out value="${requestScope.property[submissionFailure]}" />

을하려고 할 때 그러나 아무 것도 출력되지 않습니다.

나는 나의 JSP에 다음 코드를 삽입하고, 나는 requestScope지도의 값을 볼 수 있습니다

<b><i>Request Scope</i></b><br/> <c:forEach items="${requestScope}" varStatus="status" var="parameter"> <c:out value="${parameter}"/><br/><br/>
</c:forEach>

을하지만 여전히 변수를 얻을 수 없습니다. 누구든지 나를 도울 수 있을까 아니면 I-D-10-T 순간을 가지고 있습니까?

답변

1

나는 내 편에서 I-D-10-T의 순간이었다. 나는 너무 열심히 노력했다. 사용 종료 된 코드는 다음과 같습니다.

<c:choose> 
    <c:when test="${submissionFailure}"> 
     <%-- Do something --%> 
    </c:when> 
    <c:otherwise> 
     <%-- Do something else --%> 
    </c:otherwise> 
</c:choose> 
1

Action 클래스가 JavaBean이 아닐 수 있습니다 (즉, submissionFailure 필드에 getter가 없음). From the Struts1 reference :

첫째, 당신의 ActionForm 빈은 제로 인수 생성자가 있어야합니다. 프레임 워크가 이어야 양식 클래스 bean의 새 인스턴스 ( )를 동적으로 만들 수 있어야하며 클래스 이름 만 알고 있어야하므로이 값은 입니다. 프레임 워크가 도 양식 콩의 속성 (요청한 매개 변수)을 채울 것이기 때문에 이것은 부담스러운 제한이 아닙니다. 입니다.

둘째, 양식 빈 의 분야는 공공 getter 및 setter 명명 디자인을 자바 빈즈 사양에 설명 패턴을 따르는 방법을 제공 하여 프레임 워크로 사용할 수 있습니다. 대부분의 사용자의 경우, 그 는 에 대한 양식 빈의 각 속성을 다음과 같은 관용구를 사용하여 의미 :이 방법으로 문제가 해결되지 않으면

private {type} fieldName; 

public {type} getFieldName() { 
    return (this.fieldName); 
} 
public void setFieldName({type} fieldName) { 
    this.fieldName = fieldName; 
} 

는, 다음으로 Action 클래스의 관련 부분을 게시 고려해야 당신의 더 나은 디버깅을 가능하게하는 질문.

관련 문제