Как получить значение множественного выбора? - PullRequest
1 голос
/ 31 января 2012

Кто-нибудь знает, как получить значение множественного выбора в портлете jsp liferay ..

У меня есть следующее поле выбора

<form name="<portlet:namespace/>fm1" 
    method="post"
    action="
      <portlet:actionURL>
        <portlet:param name='nextPage' value='pm_addActivityResult.jsp'/>
      </portlet:actionURL>"
    onsubmit="return selectAllOptions('item_id')"> 

<table>
 <tr>
  <td> 

     <select multiple="multiple" id="item_id" name="item_id" size="1">
        <c:forEach items="${pageScope.itemList}" var="num">
            <option value="${num.id}">${num.type} ${num.model} ${num.serialNo}</option>
        </c:forEach>    
     </select>

  </td>
 </tr>
</table>

<input type="submit" value="ADD" name="add"/>

</form>

Я пробовал приведенный ниже код, но не 'Кажется, это не работает: (

   String[] itemId = renderRequest.getParameterValues("item_id");

Если кто-нибудь знает, пожалуйста, дайте мне знать. Я застрял, делая это ..

признателен за любую помощь .. спасибо

Ответы [ 3 ]

1 голос
/ 31 января 2012

Попробуйте напечатать actionRequest.getParameterNames () или выполнить итерацию по нему и вывести значения.

1 голос
/ 15 февраля 2012

Я исправил это!

Это довольно сложно.У меня есть файл Java для передачи данных из одной формы JSP в другую.

Итак, вместо использования этого кода:

public void processAction(ActionRequest request, ActionResponse response) throws PortletException,   IOException {

    Map<String,String[]> paramMap = request.getParameterMap();
    Set<String> params =  paramMap.keySet();

    for(String param:params){ 
        response.setRenderParameter(param, paramMap.get(param)[0]);

    }      
 }

Я использовал этот

 public void processAction(ActionRequest request, ActionResponse response) throws PortletException, IOException {

    Map<String,String[]> paramMap = request.getParameterMap();
    Set<String> params =  paramMap.keySet();

    for(String param:params){

        //string array check
        String[] paramValues = paramMap.get(param);
        response.setRenderParameter(param, paramValues);

    }     
}

Вот так я и решил.

1 голос
/ 31 января 2012

Во-первых, поскольку вы используете форму, я считаю, что форма указывает на actionURL, а не renderURL. Далее, если это так, вы должны использовать actionRequest.getParameterValues ​​("item_id"); вместо renderRequest, предполагая, что вы переопределяете processAction.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...