jakarta-ee - 如何在将其插入页面之前检查瓷砖属性的存在

标签 jakarta-ee struts2 tiles apache-tiles

我在 struts2 应用程序中使用瓷砖。在定义基本布局时,我定义了一个属性“scriptFile”。

<definition name="baseLayout" template="/application/base-layout.jsp" >
    ... 
</definition>

<definition name="custom.tiles" extends="baseLayout">
    <put-attribute name="scriptFile" value="js/custom-script.js"></put-attribute>
</definition>

如果开发人员在瓷砖定义文件“tiles.xml”中提供“scriptFile”,则应使用以下行包含此脚本文件
<script language="javascript" src="<tiles:insertAttribute name="scriptFile"></tiles:insertAttribute>"></script>

但如果未定义 scriptFile 属性,则必须跳过此行。

如何检查磁贴中“scriptFile”属性的存在。有没有更好的方法来做这件事?

最佳答案

我试过

<t:useAttribute name="scriptFile" id="script" classname="java.util.List" ignore="true"/>
<%
    if(script != null) {
        ... include script
    } 
%>

JSTL 也可以在这里使用。

关于jakarta-ee - 如何在将其插入页面之前检查瓷砖属性的存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13356150/

相关文章:

jakarta-ee - Glassfish 4.0 中的 Bean-Validation 1.1 - CDI 注入(inject)未按预期工作

java - 非请求但依赖类的 EAR 类加载说明

javascript - 将 React 组件集成/注入(inject)到静态(已加载)HTML 中

tiles - 使用 Cesium 无法获取(无法找到正确的 url)Geoserver 上的 Tile 层

javascript - 传单 map 未加载

api - 什么是 Java EE 认可的 API?

java - 禁用无状态 bean 中的数据库事务

frameworks - Struts2配置和性能

java - Struts 2 中未找到类异常

java - 如何让 IntelliJ 识别多个图 block views.xml?