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发送它们。