1 在WEB-INF下建立template/simple文件夹,在里面新建模板文件prop1.ftl
模板文件内容为
<div>
<span>${parameters.p_title?html}:</span>
<#if parameters.p_size?? && (parameters.p_content?length>parameters.p_size?number) >
<#assign v_lastIndex = parameters.p_size?number-1/>
<span title="${parameters.p_content?html}">${parameters.p_content[0..v_lastIndex]?html}...</span>
<#else>
<span>${parameters.p_content?html}</span>
</#if>
</div>
2 jsp页面中用s:component标签进行引用
<s:component template="prop1.ftl" templateDir="/WEB-INF/template">
<s:param name="p_title" value="'姓名'"></s:param>
<s:param name="p_size" value="'6'"></s:param>
<s:param name="p_content" value="'张三'"></s:param>
</s:component>
<s:component template="prop1.ftl" templateDir="/WEB-INF/template">
<s:param name="p_title" value="'介绍'"></s:param>
<s:param name="p_size" value="'6'"></s:param>
<s:param name="p_content" value="'程序员'"></s:param>
</s:component>
<s:component template="prop1.ftl" templateDir="/WEB-INF/template">
<s:param name="p_title" value="'详细地址'"></s:param>
<s:param name="p_size" value="'6'"></s:param>
<s:param name="p_content" value="'中华人民共和国辽宁省大连市'"></s:param>
</s:component>
页面生成html为
<div>
<span>姓名:</span>
<span>张三</span>
</div>
<div>
<span>介绍:</span>
<span>程序员</span>
</div>
<div>
<span>详细地址:</span>
<span title="中华人民共和国辽宁省大连市">中华人民共和...</span>
</div>
顺便说下freemarker模板里居然是强类型的,要是不用?number这种函数给它转成数字,就报
XXX is not a number, it is freemarker.ext.beans.StringModel
分享到:
相关推荐
总的来说,自定义FreeMarker标签是提高模板引擎灵活性和扩展性的有效方式,也是Java开发中的一个重要技能。通过深入理解FreeMarker的工作原理和API,开发者可以构建出更强大、更符合项目需求的模板解决方案。
在这个"Freemarker自定义标签简单案例"中,我们将深入探讨如何利用Freemarker进行模板设计,并结合自定义标签来增强模板的功能。 首先,让我们理解Freemarker的基础知识。Freemarker是一个与语言无关的模板引擎,它...
Struts2、Spring和Freemarker是Java Web开发中的三个重要框架,它们分别在MVC模式的不同层面提供了功能支持。Struts2是一个基于MVC设计模式的Web应用框架,Spring是一个全面的后端应用程序框架,而Freemarker则是一...
- 在Freemarker模板文件中,可以使用Struts2标签库,如`s:property`来显示Action中的属性值。例如,如果LoginAction中有username属性,可以这样写:`<s:property value="username" />`。 7. **运行和调试**: - ...
在这个“struts2中jsp和freemarker模板视图的案例”中,我们将深入理解如何使用这两种不同的视图技术与Struts2框架进行集成。 首先,我们来看JSP(JavaServer Pages)作为视图的实现。JSP是Java中的动态网页技术,...
要开始在Struts2中使用FreeMarker模板,首先需要将`freemarker-2.3.8.jar`库文件导入到你的项目的`WEB-INF/lib`目录下。这个库包含了FreeMarker模板引擎的所有必要组件。然后创建一个新的web工程,例如`...
在学习和使用这个项目实例时,你需要理解每个框架的核心概念和工作原理,如Struts2的动作(Action)和结果(Result),Hibernate的实体(Entity)、会话(Session)和查询,以及FreeMarker的模板语法。此外,还需要...
众所周知,struts2宣称freemarker模板中不再支持自定义标签,但如果工程UI仅用freemarker模板可以通过扩展struts标签简单实现,不是采用官方不推荐的配置JspSupportServlet实现的!内付详细说明及范例,此方法仅为团队...
- 配置FreeMarker的路径,确保Struts2能够找到模板文件。例如: ```xml <constant name="struts.freemarker.templates.loader.class" value="org.apache.struts2.views.freemarker.StrutsTemplateLoader"/> ...
Struts2是一个基于MVC(Model-View-Controller)架构模式的开源框架,用于构建动态、数据驱动的Web应用程序,而FreeMarker则是一个模板引擎,它允许开发者将业务逻辑与视图层分离,使得前端展示更加灵活和高效。...
自定义标签是Freemarker的一个强大特性,它可以帮助我们更好地组织视图层代码,提高代码复用性,使得模板更加模块化。下面将详细介绍Spring MVC与Freemarker自定义标签的使用。 首先,我们需要了解Freemarker的基础...
通过将Struts2的模型数据传递给FreeMarker模板,前端开发人员可以使用FreeMarker提供的丰富的模板标签和函数来渲染页面。 #### 配置Struts2与FreeMarker 在Struts2中使用FreeMarker之前,首先需要进行相应的配置。...
在实际开发中,"freemarker2"这个文件可能是Freemarker的一个示例模板或者配置文件,它可能包含了如何使用Freemarker语法来构建动态网页的具体示例。通过对这个文件的深入学习和实践,开发者可以更熟练地掌握Struts2...
7. **国际化与本地化**:Struts2支持Freemarker的国际化功能,可以创建资源文件(如`message.properties`),并使用`<@s.i18n...>`标签来输出本地化信息。 8. **静态页面生成**:整合Struts2和Freemarker的一个常见...
Struts2和FreeMarker是两种在Java Web开发中广泛应用的技术。Struts2是一个基于MVC(Model-View-Controller)设计模式的开源框架,用于构建企业级Web应用程序,而FreeMarker则是一个模板引擎,用于生成动态HTML或...
在实际项目中,Struts2和FreeMarker的结合使用可以有效地构建出可维护、可扩展的Web应用。通过Action类处理业务逻辑,FreeMarker负责生成HTML页面,两者协同工作,为开发者提供了一种高效的开发模式。学习和掌握这两...
扩展Struts2的标签库意味着创建自定义的标签,这些标签可以嵌入到FreeMarker模板中,以提供更高级别的抽象和可重用性。这通常涉及到创建自定义的Action、模型类和标签库定义文件(TLD)。 在给定的文件列表中,我们...
总结起来,FreeMarker自定义分页标签宏的实现涉及到前端模板的宏定义与调用,以及后端的数据处理和链接生成。通过这种方式,我们可以创建出灵活且可复用的分页组件,方便地应用于各种项目中。理解并熟练掌握宏的使用...
Struts2是一个强大的MVC(Model-View-Controller)框架,它是Apache软件基金会下的一个开源项目,被广泛用于构建企业级Java Web应用。Struts2提供了丰富的特性,如拦截器、插件架构、灵活的数据绑定以及强大的表单...
3. **结果拦截器**:Struts2允许使用拦截器来处理Action的执行前后,可以自定义拦截器来实现数据预处理或后处理,以适应FreeMarker模板的需求。 4. **动态方法调用**:FreeMarker支持Struts2的动态方法调用,这意味...