Struts 2 URL不会替换正确的值

aks*_*mit 1 java jsp struts struts2

我正在关注Struts 2教程 - 使用Struts 2标签

到目前为止,所有内容都按预期工作,直到我将以下内容添加到index.jsp:

<s:url action="hello" var="helloLink">
    <s:param name="userName">Bruce Phillips</s:param>
</s:url>
<p><a href="${helloLink}">Hello Bruce Phillips</a></p>
Run Code Online (Sandbox Code Playgroud)

预期的结果是锚链接(Hello Bruce Phillips)应该用hello.action的相应URL替换参数userName encoded,但不会发生替换,这就是元素呈现的方式:

<p>
    <a href="${helloLink}">Hello Bruce Phillips</a>
</p>
Run Code Online (Sandbox Code Playgroud)

我的语法有什么问题吗?

环境:

  • 在GlassFish 2.1和3.1.1中都尝试过同样意想不到的结果.
  • Struts 2.2.3.1
  • Mac(狮子)与java6 jdk
  • 标签定义:<%@ taglib prefix ="s"uri ="/ struts-tags"%>

Dav*_*ton 5

如果没有 JSP EL评估,请检查以下内容:

  • web.xml未声明为Servlet 2.4或更高版本.
  • @page配置为isELIgnored = true.
  • web.xml配置为<el-ignored>true</el-ignored>in <jsp-config>.

我猜第一个.

@ user873670的答案也可以,但在正确配置的应用程序中不是必需的.