jsp - Struts2 禁用 <s :textfield> using some expression

标签 jsp struts2 expression

我的应用程序中有两个角色,ROLE_ADMIN 和 ROLE_USER
我还有一个包含一些字段的表单。我想要以下内容:
当用户具有 ADMIN 角色时,他可以编辑特定的字段组,当用户具有 USER 角色时,他无法编辑这些字段。我不想有两种不同的形式,或者每个角色都有两个字段副本。

我试图做这样的事情:

disabled="${myFlag}" >,其中 myFlag 从角色评估。

但我警告“禁用”不支持运行时表达式。

有没有办法做到这一点?或者也许有更好的方法,例如,将生成的输入替换为 label ?

提前致谢。

最佳答案

您应该在 Struts2 标记 中使用 OGNL 表达式 by %{expression} 语法。

<s:textfield disabled="%{myFlag}" />

how can I set such variable on page?



不适用于 %{myFlag} ?或者你可以通过设置变量
<s:set var="flag">${myFlag}</s:set>

执行 :
<s:textfield disabled="#flag" />

关于jsp - Struts2 禁用 <s :textfield> using some expression,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7817174/

相关文章:

java - 从 Eclipse 中的 WEB-INF 文件夹读取文件

java - 解析函数不起作用

java - 从 Java 代码注入(inject) JSP EL 和/或 JSTL 标记

java - 如何配置apache tomcat快速渲染页面

c# - 将动态创建的 lambda 应用于对象实例

C# Linq OrderBy 过滤 null 或空值到最后

javascript - 正则表达式 : Parse a sentence

php - 发送 session 数据 : Php on one server and jsp on another

java - 如何在 Struts 2 中向 Set 集合中插入一个值

java - 如何填充Struts2下拉菜单?