0
我们有一个使用JSF 1.2制作的应用程序。我们使用JBoss 4.2和Apache。缺少请求参数
我们遇到的问题随机出现在生产环境中。
我们在JSP页面的静态链接,类似于:
<a href="https://myhost/mypage.jsp?param=MYPARAM">link</a>
MYPARAM进行编码BASE64。
在mypage.jsp文件中,我们做了下:
<body>
<% String param = request.getParameter("param");
String decoded = new BASE64Decoder().decodeBuffer(param));%>
...
有时,串PARAM它是空,因此然后,它将启动一个NullPointerException。
正如你所看到的,它非常简单。
有关这里发生了什么的一些想法?我一直在谷歌上搜索了几天,我没有找到有关的线索是怎么回事...
我们有我们的代码另一部分同样的问题,我们做了:
FacesContext facescontext = FacesContext.getCurrentInstance();
facescontext.getExternalContext().redirect("/myservlet?param=TYPE");
的var TYPE有时会丢失它,在我们的代码的其他部分产生另一个NullPointerException,当它永远不应该是NULL。
谢谢。 ?
不是传递为PARAM = MYPARAM的,试试这个:PARAM = MYPARAM。那意味着而不是? , 使用 &。这可能会起作用。请告诉我它是否有效。 –
@TheDarkKnight:完全废话。 '?'是将查询字符串从URI中分离出来的,'&'是将查询字符串本身的参数分开('='是将参数名称和值分开)。回到书籍来学习基本的HTTP。 – BalusC
@BalusC:在你说一些没有意义的事情之前,花点时间和耐心去知道它并不完全合理。我所说的是从实际的POV中学到的。有时候呢?在查询字符串中不起作用,因为发布的值不会将其作为分隔符。并且不要假设告诉我关于基本的http而没有验证我所说的是否确实等于或不是。 –