mazi2004 2013-11-04 02:07 采纳率: 0%
浏览 974

struts2 display标签中嵌套if标签

实际例子:


titleKey="flowCard.operate" >

审批
/s:if

审批
/s:else
/display:column
/display:table
status是flowCard的属性
希望达到的效果:status是N时,展示带连接的审批
status不是N时,展示不带连接的审批

  • 写回答

1条回答 默认 最新

  • ChatGPTᴼᴾᴱᴺᴬᴵ 2024-02-13 17:13
    关注

    所有内容均由人工智能模型输出,其内容的准确性和完整性无法保证,不代表我的态度或观点。


    该回答引用文心大模型4.0,仅提供参考,不保证完全正确
    目前为文心大模型4.0专栏,网页版本:V2.5.3(2024.1.19)
    在Struts2中,display标签并不是Struts2自带的标签,它可能是某个特定UI库(如Display Tag Library)的标签。然而,ifelse标签是Struts2的控制标签,用于在JSP页面中进行条件判断。


    如果你希望在display:column中根据status属性的值来决定是否显示带连接的审批或者不带连接的审批,你可能需要使用Struts2的ifelse标签结合display:column标签来实现。但是,请注意,直接在display:column标签内部使用ifelse可能会导致标签库之间的冲突或不支持的嵌套情况。


    一种可能的解决方案是在display:column标签内部使用JSP脚本或表达式来根据条件动态生成不同的内容。以下是一个示例:

    <display:table ...>
        <display:column titleKey="flowCard.operate">
            <%-- 使用JSP表达式进行条件判断 --%>
            <s:if test="%{#attr.status == 'N'}">
                <a href="your_link_here">审批</a>
            </s:if>
            <s:else>
                审批
            </s:else>
        </display:column>
        ...
    </display:table>
    

    然而,上述示例中的<s:if><s:else>标签可能无法直接在display:column内部工作,因为display:column期望的是纯文本或简单的HTML内容,而不是复杂的标签结构。


    更好的方法是在你的Action类中处理逻辑,并在JSP页面中只使用简单的表达式来输出结果。你可以在你的Action类中为审批链接添加一个额外的属性或方法,并在JSP页面中使用该属性或方法来决定是否显示链接。


    例如,在你的Action类中:

    public class YourAction {
        private String status;
        private String approvalLink;
    
        // 其他属性和方法...
    
        public String getApprovalText() {
            if ("N".equals(status)) {
                return "<a href=\"" + approvalLink + "\">审批</a>";
            } else {
                return "审批";
            }
        }
    }
    

    然后在JSP页面中:

    <display:table ...>
        <display:column titleKey="flowCard.operate" property="approvalText" escapeXml="false" />
        ...
    </display:table>
    

    注意,这里将escapeXml属性设置为false是为了避免HTML标签被转义为文本。但要小心使用,确保你完全信任输出的内容,以防止跨站脚本攻击(XSS)。最好是在服务器端对输出进行适当的过滤和转义。


    另外,请注意,上述示例中的代码仅用于说明目的,并可能需要根据你的实际情况进行调整。特别是,直接在Action类中生成HTML标签并不是最佳实践,更好的做法是将显示逻辑与业务逻辑分离,使用JSP标签、JSTL或其他前端技术来处理显示逻辑。


    图片转文字可能造成误差,不代表模型真实水平

    评论

报告相同问题?

悬赏问题

  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥30 求一段fortran代码用IVF编译运行的结果
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥30 python代码,帮调试,帮帮忙吧
  • ¥15 #MATLAB仿真#车辆换道路径规划