我正在开发一个 JSF 应用程序,它有一个 servlet 来显示二进制图像。我让它使用一个参数,但想传递两个参数。它似乎只获取第一个参数。我的映射如下所示。
<servlet>
<servlet-name>imageServlet</servlet-name>
<servlet-class>com.myapp.system.ImageServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>imageServlet</servlet-name>
<url-pattern>/image/*</url-pattern>
</servlet-mapping>
当我调用 servlet 时,它看起来像这样
<p:graphicImage value="image?app=avatar?id=#{bean.imgId}" />
在我的 servlet 中,我得到这样的参数
String id = request.getParameter("id");
String app = request.getParameter("app");
如果我输出应用程序字符串,它会显示此
avatar?id=166
如何允许 servlet url-patter 接受两个值并能够使用 getParameter 方法解析它们。谢谢。
最佳答案
JSP标签应该写成:
<p:graphicImage value="image?app=avatar&id=#{bean.imgId}" />
URL 查询部分中的参数应使用“&”而不是“?”分隔。
(您可以忽略这一点,但您将无法使用 ServletRequest.getParameter(String)
来检索参数值。相反,您必须使用 ServletRequest.getQueryString()
并自己解析各个参数。)
关于java - 如何将两个值传递给 Java servlet?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4078203/