在JSP中使用request.getParameter会导致NullPointerException

dan*_*ins -1 java jsp nullpointerexception liferay

尝试获取查询字符串参数并在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>
Run Code Online (Sandbox Code Playgroud)

如果缺少以下行:

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

该脚本工作正常,但我需要从查询字符串中捕获'org'参数,将其写入生成的表单并提交.但是,当存在这些行时,我得到500错误.

有什么想法吗?

rp.*_*rp. 5

你有机会与PortletRequest而不是HttpServletRequest.

HttpServletRequest realRequest = PortalUtil.getHttpServletRequest(request);

String organization = realRequest.getParameter("org");
Run Code Online (Sandbox Code Playgroud)