2012-09-27 2 views
0

왜 jsp에서 입력 값을 가져올 수 없는지 알 수 없습니다. 내가 "선택"에 대한 몇 가지 입력 fiels을 만들기 위해 사이클을 사용하고 있지만, mvcportlet에서 값을 가져 오려고 할 때, 아무 것도 얻지 못합니다.liferay 포틀릿에서 입력 필드 값을 가져올 수 없음

<aui:form action="<%=addPollURL%>"> 
    <aui:fieldset> 
     <% 
      int optionCount = Integer.parseInt(optionCountS); 
      for (int i = 0; i < optionCount; i++) { 
     %> 
     <aui:input label="<%=Integer.toString(i + 1)%>" name="choice<%=i%>" 
      type="text" /> 
     <% 
      } 
     %> 
     <aui:button-row> 
      <aui:button value="Add poll" type="submit" /> 
     </aui:button-row> 
    </aui:fieldset> 
</aui:form> 

여기 mvcportlet 방법을 간다

List<String> choices = new ArrayList<String>(); 
     int count = Integer.parseInt(actualChoiceCount); 
     for (int i = 0; i < count; i++) { 
      System.err 
        .println("another choice" 
          + ParamUtil 
            .getString(
              actionRequest, 
              ("choice" + i))); 
      choices.add(new String(ParamUtil.getString(actionRequest, 
        ("choice" + i)))); 
     } 

답변

-1

사용해보십시오 : 요청에서 POST의 PARAMS을 얻을 수있는 표준적인 방법이 아니다

actionRequest.getParameter("choice" + i); 

합니다.

0

그것 정말 이상한 ...하지만 몇 가지 아이디어 또는 테스트

  1. 라는 행동와 AddPollUrl 액션 URL은 그래서 당신의 행동은 일반적인 포틀릿에서 실행되어 있습니까?

  2. 텍스트 입력란에는 UI의 값이 채워져 있습니까 (태그에 명시적인 값이 없는지)? 대신 AUI의 제출 : ParamUtil 출력은 빈 값

  3. 유형 = 텍스트없이 시험 후 한 줄로 쓰기 (입력 태그)

  4. 해보십시오 AUI와 그 값없이 같으면 버튼 타입 제출 (그들은 공간을 해달라고하면 필자가 반복되는 형태의 몇 가지 문제를 볼)를 형성하는 ID 또는 필드를 추가

  5. 시도

  6. 왜 새로운 String (ParamUtil ...)?

가장 중요한 것은 ... System.outs의 출력은 무엇입니까?

0

입력란에 값이 없기 때문에 이런 현상이 발생합니다. 적어도 그렇게 보입니다. 당신처럼 "choiceX"로 설정 한 값 매개 변수를 가지고 입력을 수정해야합니다 : 조니 말했듯이

<aui:input label="<%=Integer.toString(i + 1)%>" name="choice<%=i%>" 
     type="text" value="choice<%=i%>" /> 

를 그런 다음, ActionRequest를에서 찾을 수 있습니다 : 이것은 당신에게 반환됩니다

request.getParameter("choice"+i); 

입력란의 값, 그 이름으로 검색하십시오. 따라서 processAction 메소드에서 선택할 수 있습니다.

감사합니다.

관련 문제