2010-01-03 3 views
1

코드는 다음과 같습니다 :자바 코드에서 <select multiple>에서 여러 개의 선택된 값을 가져 오는 방법은 무엇입니까?

<select name="merTransactionTypeId" class="cbox" multiple> 
    <!-- 
    <option value="0" <%=request.getParameter("merTransactionTypeId")!=null?"0".equalsIgnoreCase(request.getParameter("merTransactionTypeId"))?"selected":"":""%>>All</option> 
    --> 
    <option value="2" <%=request.getParameter("merTransactionTypeId")!=null?"2".equalsIgnoreCase(request.getParameter("merTransactionTypeId"))?"selected":"":""%>>Reload</option> 
    <option value="1" <%=request.getParameter("merTransactionTypeId")!=null?"1".equalsIgnoreCase(request.getParameter("merTransactionTypeId"))?"selected":"":""%>>Sale</option> 
    <option value="5" <%=request.getParameter("merTransactionTypeId")!=null?"5".equalsIgnoreCase(request.getParameter("merTransactionTypeId"))?"selected":"":""%>>CCMS_Recharge</option>    
    <option value="6" <%=request.getParameter("merTransactionTypeId")!=null?"6".equalsIgnoreCase(request.getParameter("merTransactionTypeId"))?"selected":"":""%>>Loyalty_Award</option>  
    <option value="7" <%=request.getParameter("merTransactionTypeId")!=null?"7".equalsIgnoreCase(request.getParameter("merTransactionTypeId"))?"selected":"":""%>>Loyalty_Redeem</option>  
    <option value="16" <%=request.getParameter("merTransactionTypeId")!=null?"16".equalsIgnoreCase(request.getParameter("merTransactionTypeId"))?"selected":"":""%>>FCC_Reload</option> 
    <option value="11" <%=request.getParameter("merTransactionTypeId")!=null?"11".equalsIgnoreCase(request.getParameter("merTransactionTypeId"))?"selected":"":""%>>Tracking</option> 
    <option value="12" <%=request.getParameter("merTransactionTypeId")!=null?"12".equalsIgnoreCase(request.getParameter("merTransactionTypeId"))?"selected":"":""%>>Fund_Transfer_From_Card</option>     
</select> 

내가

<% String[] selectedTransactionTypes = request.getParameterValues("merTransactionTypeId"); %> 

로 scriplet 코드로 드롭 다운 메뉴에서 값을 검색하려고 ...하지만이 null 반환합니다. 제발 도와주세요.

+0

은 양식과 양식 자체를 제출하는 버튼의 코드를 제공합니다. – Bozho

+0

SO에 덤프 된 텍스트에는 탭을 사용하지 마십시오. 자세한 내용은 Markdown 참조 문서를 참조하십시오. http://stackoverflow.com/editing-help –

+0

request.getParameterValues보다 request.getInputStream 또는 request.getReader를 호출하지 않는지 확인하십시오. – axtavt

답변

2

은 분명히 목록 상자 같은 <form>로 묶여 있지 않거나 <form> 심지어 아무 의미가 없다, 또는 어쩌면 당신은 (제출 예를 들어 전에 양식) 잘못된 순간에 액세스하려고, 아니면 오타있다 매개 변수 이름에 (모두를 보려면 getParameterNames()을 사용하십시오).

이전 스타일의 스크립틀릿을 제쳐두고 JSP의 흐름과 액세스 데이터를 제어하는 ​​요청 및 태그 라이브러리/EL을 사전 처리 및 사후 처리하는 서블릿 클래스를 사용하는 것이 좋습니다. 코드를 훨씬 깔끔하게 만듭니다.

관련 문제