![](/img/trans.png)
[英]JSP giving NullPointerException for request.getParameter()
[英]Use of request.getParameter in JSP results in NullPointerException
尝试获取查询字符串参数并在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错误。
有什么想法吗?
您可能正在使用PortletRequest
而不是HttpServletRequest
。
HttpServletRequest realRequest = PortalUtil.getHttpServletRequest(request);
String organization = realRequest.getParameter("org");
String org = request.getParameter("ORGANIZATION");
尝试这个,
<input id ="org" type="hidden" name="org" value="" />
然后,您可以将任何值添加到value属性。
String org = request.getParameter("org"); // get from input hidden id
如果您正确地在查询字符串中传递org
,那么您的代码将正常工作。
如果无法正常工作,请使用request.setAttribute("org",org_value)
而不是将org值作为查询参数传递,并使用request.getAttribute("org").toString
在jsp中获取org值。 它肯定会工作。
如果您尝试过Andrew Thompson提出的问题后仍无法解决您的问题。 如果使用的是Tomcat,是否可以尝试将“ org”变量的名称更改为其他名称。 我不记得确切,但是一旦在其中一个版本的Tomcat中遇到了类似的问题,其中不允许使用“ org”变量名。
如果我在同一jsp页面中两次使用request.getParameter()。
第二次显示为空。
喜欢
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为null。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.