Использование request.getParameter в JSP приводит к исключению NullPointerException - PullRequest
0 голосов
/ 20 января 2012

Попытка получить параметр строки запроса и выполнить соответствующее действие на странице JSP.

Вот фрагмент:

<%@ page import="com.companyx.portal.model.LDAPAttributes" %>
<%@ page import="com.companyx.portal.service.LDAPAttributesLocalServiceUtil" %>
<%@ page import="com.liferay.portal.model.User" %>
<%@ page import="com.liferay.portal.util.PortalUtil" %>
<%@ page import="javax.servlet.http.HttpServletRequest" %>

<%
User user = PortalUtil.getUser(request);
String screenName = user.getScreenName();
LDAPAttributes attr = LDAPAttributesLocalServiceUtil.getLDAPAttributes(screenName);
String store = attr.getLegacyStoreNo();
String org = request.getParameter("org");
%>

...more code here...

<html>
...html code here...
<form name="LoginForm" action="check_login.php">
    <input type="hidden" name="LOGIN_NAME" size="20" value="<%= store %>" />
    <input type="hidden" name="LOGIN_PASSWORD" size="20" value="<%= store %>" />
    <input type="hidden" name="ORGANIZATION" value="<%= org %>" />
</form>

Когда отсутствуют следующие строки:

 String org = request.getParameter("org");
 ...
 <input type="hidden" name="ORGANIZATION" value="<%= org %>" />

Скрипт работает просто отлично, но мне нужно захватить параметр org из строки запроса, записать его в сгенерированную форму и отправить его. Когда эти строки присутствуют, я получаю ошибку 500.

Есть мысли?

Ответы [ 6 ]

5 голосов
/ 20 января 2012

Скорее всего, вы работаете с PortletRequest, а не с HttpServletRequest.

HttpServletRequest realRequest = PortalUtil.getHttpServletRequest(request);

String organization = realRequest.getParameter("org");
4 голосов
/ 20 января 2012
String org = request.getParameter("ORGANIZATION");
1 голос
/ 20 января 2012

попробуйте это,

<input id ="org" type="hidden" name="org" value="" />

Затем вы можете добавить любое значение к значению свойства.

 String org = request.getParameter("org"); // get from input hidden id
0 голосов
/ 31 июля 2012

если я использую request.getParameter () два раза на одной и той же странице JSP.

во второй раз показывает нулевое значение.

как

if(request.getParameter("frmdttxt") != request.getParameter("start_date")){
                    out.println("we are here");
                    date_flag="DNM";                        
                }else{

                    date_flag="DM";
                }




if(request.getParameter("page_number")==null){
                //System.out.println("we are here");
                frmdt = request.getParameter("frmdttxt");
                todt = request.getParameter("todttxt");
                stat = request.getParameter("status");
                regn = request.getParameter("region");

                }

затемfrmdt является нулевым.

0 голосов
/ 20 января 2012

Если ваша проблема не решена даже после попытки, о чем просил Эндрю Томпсон. Если вы используете Tomcat, попробуйте изменить имя переменной org на другое. Я точно не помню, но однажды я столкнулся с подобной проблемой в одной из версий Tomcat, где имя переменной «org» было запрещено.

0 голосов
/ 20 января 2012

Если вы правильно передаете org в строке запроса, ваш код будет работать правильно.

И если он не работает должным образом, используйте request.setAttribute("org",org_value) вместо передачи значения org в качестве параметра запроса иполучить значение org в jsp, используя request.getAttribute("org").toString.Это точно сработает.

...