Struts2 – 从静态列表设置属性使用OGNL无效的String属性

我正在尝试使用struts2框架设置隐藏的输入值。 输入值是一个不变的值,所以我想通过静态引用设置它,而不是担心在Controller中的多个位置设置它。

这是列表定义:

package com.packagename.models; public class UsernameModel implements Serializable, Comparable { ... /** * 

A static container of the predefined username types. */ public static final class UsernameTypes { public static final String ALIAS = "Alias"; public static final String ASSIGN_NUM = "Assignment Number"; } ... }

我意识到这可能超出了问题的范围,但是当我尝试在隐藏输入中引用属性时会抛出exception:

 <s:hidden name="username_type" value=""> 

org.apache.jasper.JasperException:/WEB-INF/content/user/profile.jsp(第185行,第64列)未终止的<s:hidden标签

如果我从s:hidden输入中删除属性标记,则exception消失,但“Alias”字符串应该出现的地方没有文本。

– 提前致谢

你不能像这样嵌套标签。 要引用内部类,您需要使用$ sign。

  

IMO最好直接在类中使用这种静态变量,而不是从JSP发送它们。