2010-04-25 2 views
0

드롭 다운 목록과 함께 jstl을 사용하고 있습니다.같은 양식에서 이미 선택된 값을 잃지 않고 양식을 제출하는 방법

Submit 버튼을 클릭하면 성공하지만 사양 int 값 드롭 다운리스트는 다시 초기화됩니다.

양식에서 항상 동일한 수준으로 유지해야하기 때문에 양식에 이미 선택된 값을 잃지 않고 양식을 제출하고 싶습니다. 더 명확히 말하면 사용자는 ddl에서 값을 선택하고 편집 버튼을 클릭하여 표시합니다. 다른 옵션을 선택하고 그가 선택한 것을 풀지 않고 같은 양식으로 채 웁니다.

나는 ... 그런 식으로 처리하는

<form action="myjsp.jsp" method="post"> 
<input type="Submit" value="Edit"> 

을 시도 ...하지만 그것은 작동하지 않습니다.

도움 주셔서 감사합니다.

+0

내 코드에 따라 제안을 통합하려고 <선택 이름 = Aucun <% HtmlListActivityConstruct LA = 새 HtmlListActivityConstruct(); %> <% = LA.ConstructListActivity (" 'activity = 활동 ","SELECT from Activityopc activityopc ".toString()) %> 그래서이 상황을 어떻게 처리 할 수 ​​있습니까? – kawtousse

+0

좀 더 설명해 주시겠습니까? Iam 그냥 혼란스러워. – kawtousse

답변

1

입력을 요청 매개 변수 값으로 사전 설정해야합니다. EL의 매개 변수 값은 ${param.name}에 액세스 할 수 있습니다. 기본적으로 :

<input type="text" name="foo" value="${param.foo}"> 

민감한 점은 XSS입니다. 사용자 입력을 항상 위생해야합니다. 이 경우 JSTL functions taglib을 사용할 수 있습니다. HTML <select> 요소에 의해 렌더링 된 드롭 다운의 경우

<input type="text" name="foo" value="${fn:escapeXml(param.foo)}"> 

, 그것은 조금 복잡합니다. 질문에서 HTML <option> 요소의 selected 속성을 설정해야합니다. 옵션 값이 요청 매개 변수 값과 일치 할 때마다 EL에서 삼항 연산자를 사용하여 selected 속성을 인쇄 할 수 있습니다.

기본 예 : 그래서 다음과 같이 있습니다 : 옵션은 데이터베이스에서 동적으로 생성되기 때문에 내가 문제를 발견

<select name="foo"> 
    <c:forEach items="${options}" var="option"> 
     <option ${param.foo == option ? 'selected' : ''}>${option}</option> 
    </c:forEach> 
</select> 
+0

이 예제를 더 이해하고 싶지만 적용 할 수는 없지만 내 옵션을 표시하지 않았습니다. – kawtousse

+0

그래서 각 매개 변수에 정확히 무엇을 넣었습니까 저는 초보자입니다 고맙습니다 – kawtousse

+0

"foo"를 실제 매개 변수 이름으로 대체하십시오. 매개 변수 이름은 입력 필드의'name' 속성에 지정됩니다. – BalusC