【问题标题】:open jsp with disabled mode以禁用模式打开jsp
【发布时间】:2014-07-21 01:37:58
【问题描述】:

我有一个用户填写详细信息的表单,并且在禁用模式下管理员可以看到相同的表单。此外,管理员可以根据其角色编辑的字段很少。所以基本上在管理员模式下有两个按钮来更新和查看。 我尝试使用会话变量 opMode 来实现它。并根据opMode在jsp中添加了一个scriptlet,字段可见。但是在这里我不得不三次复制相同的字段。 示例:

     <% String opMode=(String)session.getAttribute("opMode");%>

       <%if(opMode.equals("ADD")){ %>          
        <s:textfield name="caserecord.case_Name" label="Case Name." size="25" />
        <%}%>  

       <%if((opMode.equals("VIEW")){ %>          
       <s:textfield name="caserecord.case_Name" label="Case Name." size="25" disabled="true"/>
        <%}%> 

        <%if((opMode.equals("UPDATE")){ %>          
       <s:textfield name="caserecord.case_Name" label="Case Name." size="25" />
        <%}%>

那么有没有一种方法可以让我对所有三个任务使用相同的jsp,即。 添加、查看和更新​​,无需复制字段。

提前致谢。

【问题讨论】:

  • 我不得不将相同的字段复制三次。我不明白这一点。请解释哪些代码是重复的。
  • 我在会话中为所有 3 个值使用了一个 scriplet & 我制作了 3 个表单标签,其中包含相同的字段。
  • 请分享重复的代码以使图片清晰。
  • 看到我更新了我的问题。对于相同的案例名称,我必须为不同的模式添加三个文本框。
  • 第一种和第三种情况有什么区别。

标签: jsp struts2 ognl


【解决方案1】:

您可以使用 OGNL 之类的方式修改字段

<s:if test="#session.opMode in {'ADD', 'VIEW', 'UPDATE'}">
  <s:textfield name="caserecord.case_Name" label="Case Name." size="25" disabled="%{#session.opMode == 'VIEW'?true:false}"/>
</s:if>

【讨论】:

    猜你喜欢
    • 2021-01-29
    • 1970-01-01
    • 1970-01-01
    • 2017-02-10
    • 1970-01-01
    • 2011-11-29
    • 2018-08-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多