java - 如何将两个值传递给 Java servlet?

标签 java jsf

我正在开发一个 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&amp;id=#{bean.imgId}" />

URL 查询部分中的参数应使用“&”而不是“?”分隔。

(您可以忽略这一点,但您将无法使用 ServletRequest.getParameter(String) 来检索参数值。相反,您必须使用 ServletRequest.getQueryString() 并自己解析各个参数。)

关于java - 如何将两个值传递给 Java servlet?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4078203/

相关文章:

jsf - 摘要行在 p :dataTable not working

jsf - CDI/Weld - 结束对话后如何处理浏览器页面刷新?

javascript - Web 应用程序中的文件夹选择器 - PrimeFaces 还是 JavaScript?

jsf - Facelets页面是否像JSP生成给Servlet那样生成给Servlet

java - Thymeleaf "th:each"忽略 "th:switch"?

java - 如何设置 JMenuItem 的大小?

java - 如何在 OSX 10.6 Snow Leopard 上最好地安装 Rhino

JAVA 正则表达式与 XML

java - JButton 不返回正确的文本值

java - 不关闭 hibernate session 时的奇怪行为