2010-01-21 1 views
2

JSP 기반 앱의 프론트 엔드에서 작업 중입니다. 우리는 weblogic에서 실행중인 spring을 사용하고 있습니다.JSP 페이지가 값을 위해 제출되지 않았습니다.

양식 자체가 제출되는 페이지가 있는데 JavaScript로 설정된 숨겨진 필드의 값에 액세스하려고합니다.

<c:choose> 
    <c:when test="${param.choosenDateFrom!=null}"> 
    <c:out value="${param.choosenDateFrom}" /> 
</c:when> 
    </c:choose> 

params를 페이지에 표시되지 않습니다

<form method="post"> 

    <input type="hidden" name="choosenDateFrom" value="test1" /> 
    <input type="hidden" name="choosenDateTo" value="test2" /> 
.... more code 

그러나 나는 같은 페이지에 코드를 사용하는 경우. 내가 뭘 놓치고 있니? 나는 이것을하는 표준 방법이지만.

MVC 프레임 워크를 사용하고 있기 때문에 매개 변수를 전달할 수 없습니까?

+0

이 JSP에 대한 컨트롤러 코드를 표시 할 수 있습니까? –

답변

2

webapp에 JSTL이 설치되어 있고 JSP로 선언 되었습니까?

생성 된 HTML 출력을 확인하십시오 (브라우저에서 페이지를 열고 소스보기 선택). 의 JSTL 코드 흔적이 없어야합니다. 그렇다면 JSTL을 먼저 설치해야합니다. 그냥 웹 애플리케이션의 /WEB-INF/lib에서 jstl-1.2.jar을 삭제하고 JSTL core TLD에 따라 JSP의 상단에 태그 라이브러리를 선언 : 그래도 문제가 해결되지 않으면

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 

, 다음 분명히 새로운 요청이 의미 것 (즉, 리디렉션이 발생했거나 잘못된 매개 변수 이름을 사용하고있었습니다. 모든 이름을 보려면 <c:out value="${pageContext.request.parameterMap}" />을 사용하십시오. 귀하의 의혹으로 당

:

은 우리가 MVC 프레임 워크를 사용하고 있기 때문에 나는이처럼 주위 PARAMS을 통과 할 수없는 수 있을까?

이는 사용하는 기기에 따라 다릅니다. 그것을 언급하는 것이 우리가 더 나은 대답을하는 데 도움이되지는 않습니다. 그러나 일반적으로 ${param}은 변경하지 않아야합니다.

+0

그렇습니다. 포함 된 항목은 다음과 같습니다. <% @ taglib prefix = "c"uri = "http://java.sun.com/jsp/jstl/core"%> 그 밖의 무엇을 놓칠 수 있습니까? –

+0

우리는 ' 봄을 사용하여 다시 –

+0

생성 된 HTML 출력은 어떻게 보이나요? 어떤 방식 으로든 확인 했습니까? – BalusC

0

jsp에 코어 라이브러리가 포함되어 있습니까? 대부분의 경우와 JSP는 구문을 무시합니다.

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 
0

Tamper Data라는 Firefox 플러그인을 사용하여 매개 변수가 실제로 올바르게 게시되는지 확인할 수 있습니다. 브라우저에 새 요청을 수행 할 것을 요청하기 때문에 모든 매개 변수를 잃어 버리기 때문에 게시 이후에 리디렉션을 수행하지 않는지 확인하십시오.