Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > request.getParameter возвращает null в портлете


Автор: medin_84 22.8.2009, 08:20
пытаюсь принять параметр get но request.getParameter возвращает null
это дело должно работать в портлете
вобщем как принимать переданный get параметр в портлете  smile 

Автор: ShurikA 22.8.2009, 08:50
medin_84, 
Покажи точно команду как ты ей пользуешься?

Автор: medin_84 22.8.2009, 09:09
с портлетами только начал разбираться!

это в портлете
часть
public void doView(RenderRequest request, RenderResponse response) throws PortletException, IOException {
        response.setContentType(request.getResponseContentType());
        PortletRequestDispatcher rd = getPortletContext().getRequestDispatcher("/jsp/TbPortletView.jsp");
        rd.include(request,response);
    }

это часть кода в TbPortletView.jsp
try
{
    String lngs=request.getParameter("lang");
    if(lngs == null){
        lngs="kz";
    }
    
    out.print("<a href='?lang=kz'>kz</a> - ");
    out.print("<a href='?lang=ru'>ru</a><br/>");
    out.print("current lng = " + lngs); //current lng = null
    
    TransformerFactory transformerfactory = TransformerFactory.newInstance();
    Transformer transformer = transformerfactory.newTransformer(
     new StreamSource(new File(application.getRealPath("/WEB-INF/xsl/") + "/articles.xsl"))
      );
    transformer.setParameter("lang", lngs);
    transformer.transform(
        new StreamSource(new File(application.getRealPath("/WEB-INF/xml/") + "/articles.xml")),
        new StreamResult(out)
    );

с простыми jsp работает, а в портлете не работает

Автор: ShurikA 22.8.2009, 09:33
Цитата(medin_84 @  22.8.2009,  08:09 Найти цитируемый пост)
String lngs=request.getParameter("lang");
    if(lngs == null){
        lngs="kz";
    }

 В связи с этим кодом, если даже он и вернулся NULL то явно не может им остаться.

Так что более чем странно...

Автор: medin_84 22.8.2009, 09:43
извиняюсь опечатался.
она возвращает kz (out.print("current lng = " + lngs); //current lng = kz)
но вывод request.getParameter("lang") всегда null

а вообще в портлетах правильно брать параметр по getParameter
я тут смотрел еще есть renderRequest.getParameter, но это тоже возвращает null

Автор: garbuz 23.8.2009, 21:13
Цитата(medin_84 @  22.8.2009,  09:09 Найти цитируемый пост)
 rd.include(request,response)

попробуйте 
Код

 rd.forward(request,response)

Автор: olegrolik 25.8.2009, 11:10
Цитата(medin_84 @ 22.8.2009,  08:20)
пытаюсь принять параметр get но request.getParameter возвращает null
это дело должно работать в портлете
вобщем как принимать переданный get параметр в портлете  smile

А ты уверен, что в url'е ты эти параметры передаёшь?
Напиши url.

Автор: medin_84 1.9.2009, 10:01
почитал книжку понял что имел не правильное представление о портлетах
проблема решена путем чтения нужных книг

ps:не правильно передавал параметры

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)