1

我有一个简单的问题,但我没有任何运气通过 Google 找到解决方案。

我想扩展自定义 JSP 标记,但我希望能够根据请求信息以不同方式解析它。例如标签:

<my:tag type="..."/>

如果请求中的参数不同,应该以不同的方式展开:

http://localhost:8080/context/servlet?arg=web

应该产生与以下不同的结果:

http://localhost:8080/context/servlet?arg=mobile

有谁知道标签解析类(通常是扩展TagSupport)如何从请求中访问或传递参数?

4

3 回答 3

2

您可以使用表达式语言将请求参数提供给您的 JSP-Tag。

<my:tag type="${param.arg}"/>
于 2011-02-24T07:18:24.047 回答
0

您可以通过 HttpServletRequest 对象的 getParameter() 方法访问它。

String arg1 = request.getParameter("arg");

在那里,您有变量 arg1,当您从不同的 URL 访问时,该变量包含“web”或“mobile”,如您的 2 个示例中所示。

于 2011-02-24T16:42:46.950 回答
0

在标签类里面,你可以访问请求对象并通过

this.pageContext.getRequest().getParameter("arg");
于 2011-02-28T05:54:34.910 回答