【问题标题】:Parse a custom tag using request information in JSP使用 JSP 中的请求信息解析自定义标签
【发布时间】:2011-02-24 04:37:15
【问题描述】:

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

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

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

如果请求中的参数不同,应该扩展不同:

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

应该产生不同的结果:

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

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

【问题讨论】:

    标签: jsp parameters jakarta-ee request custom-tag


    【解决方案1】:

    您可以使用Expression Language 将请求参数提供给您的 JSP-Tag。

    <my:tag type="${param.arg}"/>
    

    【讨论】:

      【解决方案2】:

      标签类内部,可以访问请求对象,通过获取参数

      this.pageContext.getRequest().getParameter("arg");
      

      【讨论】:

        【解决方案3】:

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

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

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

        【讨论】:

        • 我明白,但 request.getParameter 方法在 TagSupport 类的上下文中不可用。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-04-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多