`
wlbbswl
  • 浏览: 170554 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

在Freemarker中使用JSP标签库

阅读更多
Freemarker作为Struts2的其中一种结果类型,可以像在jsp页面一样使用JSP标签库,但在使用之前需要做一些特殊的配置。



1、需要在web.xml文件中配置以下信息,让Struts2在freemarker中支持标签功能

Xml代码
<servlet> 
    <servlet-name>JspSupportServlet</servlet-name> 
    <servlet-class>org.apache.struts2.views.JspSupportServlet</servlet-class> 
    <load-on-startup>1</load-on-startup> 
</servlet> 

<servlet>
<servlet-name>JspSupportServlet</servlet-name>
<servlet-class>org.apache.struts2.views.JspSupportServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>

2、在freemarker模板文件中引用和使用标签

Html代码
<# assign cjm=JspTaglibs["/WEB-INF/cjm.tld"] /> 
<@cjm.test uid="cjm" pwd="pwd"/> 

<# assign cjm=JspTaglibs["/WEB-INF/cjm.tld"] />
<@cjm.test uid="cjm" pwd="pwd"/>

3、如果freemarker模板文件很多,通过#assign的方式引用标签库有很多缺点:开发效率低、可维护性差等。更好的办法是通过Struts2的拦截器机制同一处理。关键代码如下:

Java代码
TaglibFactory jspTaglibs = new TaglibFactory(ServletActionContext.getServletContext());  
TemplateModel cjm = jspTaglibs.get("/WEB-INF/cjm.tld");  
ActionContext.getContext().put("cjm", cjm); 
分享到:
评论

相关推荐

    FreeMarKer+jsp使用(Struts2+Servlet).

    为了在FreeMarker模板中使用Struts2的标签,首先需要引入Struts2的TLD文件。这可以通过在`.ftl`文件开头添加以下代码完成: ```freemarker ["/WEB-INF/struts-tags.tld"] /&gt; ``` 同时,由于默认情况下FreeMarker不...

    struts2中jsp和freemarker模板视图的案例

    2. **Struts2 JSP标签库**:`&lt;s:form&gt;`、`&lt;s:textfield&gt;`、`&lt;s:submit&gt;`等标签的使用,以及如何通过`&lt;s:property&gt;`标签显示数据。 3. **JSP和Freemarker的比较**:两者在代码组织、可维护性和开发效率上的差异。 4. ...

    在struts2中使用freemarker模版

    要开始在Struts2中使用FreeMarker模板,首先需要将`freemarker-2.3.8.jar`库文件导入到你的项目的`WEB-INF/lib`目录下。这个库包含了FreeMarker模板引擎的所有必要组件。然后创建一个新的web工程,例如`...

    从jsp到freemarker2.3.23

    例如,指定默认值可以直接在表达式中使用`!`操作符;检查变量是否存在则可以使用`?`操作符;定义列表和映射字面量也非常直观。 综上所述,从JSP到Freemarker 2.3.23的迁移过程中,需要注意的主要是一些基本语法的...

    分享一个freemarker sitemesh jsp ext整合的完整项目

    4. **JSP Ext增强**:JSP Ext库提供了一些额外的JSP标签,可以增强JSP的功能,比如方便的数据绑定、更灵活的条件语句等。在整合项目中,JSP Ext可以帮助简化JSP页面的编写,提高可读性和维护性。 5. **后端控制**:...

    Struts2、Spring、Freemarker自定义标签

    Spring框架也有自己的标签库,如Spring Taglib,可以简化JSP页面中的Spring Bean引用。而在Freemarker中,可以通过扩展其API创建自定义指令,实现更复杂的逻辑或功能。 总结一下,Struts2、Spring和Freemarker的...

    shiro.freemarker.ShiroTags已打包

    ShiroTags 是 Shiro 提供的一套用于模板引擎的标签库,如 Freemarker 和 JSP,它们使得在视图层集成权限控制变得更为便捷。 `com.jagregory.shiro.freemarker.ShiroTags` 是 Jagregory 开发的一个扩展,将 Apache ...

    freemarker入门Demo

    虽然Freemarker不使用JSP,但它提供了类似于JSP标签的功能,称为“指令”(Directives)。这些指令可以用来控制流程、包含其他模板、循环、条件判断等,为开发者提供了一种灵活的方式来构建复杂的页面结构。 4. **...

    springboot集成freemarker和shiro框架

    1. 在FreeMarker模板中使用Shiro标签库:在.ftl文件顶部引入Shiro标签库: ```html ${'@org.apache.shiro.web.tags.ShiroTagLibHandler@getTagLibUri()'}"&gt; ${shiro}" as shiro/&gt; ``` 2. 使用Shiro标签:在模板中...

    Struts2 与Freemarker 的配置方法

    - 将struts-tags.tld复制到工程的WEB-INF目录下,这将使Struts2的标签能在JSP或Freemarker模板中使用。 - 配置web.xml,添加Struts2的过滤器和过滤器映射,确保所有请求都经过Struts2处理。同时,为在Freemarker中...

    FreeMarker中文API

    - 支持集成JSP标签库,提高Web应用开发的灵活性。 - 专门为MVC模式设计,实现了视图层与业务逻辑层的分离。 5. **智能国际化与本地化**: - 支持多种字符集,内部使用Unicode。 - 数字格式本地化敏感。 - 日期...

    freemarker概述

    - **支持JSP标记库**: 允许在模板中使用JSP标签。 - **国际化和本地化**: - **字符集智能处理**: 内部使用Unicode字符集,支持多种字符集。 - **本地化敏感**: 数字、日期和时间格式都支持本地化处理。 - **多...

    struts2、JSTL、Spring、JS、JSP标签大全

    2. **JSTL(JavaServer Pages Standard Tag Library)**:JSTL是一组用于JSP的标签库,旨在减少在页面中使用Java脚本。它包含多个核心标签集,如fmt(格式化标签)、fn(函数标签)、sql(SQL标签)、xml(XML处理...

    Struts2入门级教程、与Spring结合、常用标签库使用说明.

    Struts2还支持使用丰富的标签库,例如Struts2的FreeMarker和JSP标签库,简化视图层的开发。这些标签可以方便地与Action中的数据进行交互,减少代码量,提高开发效率。 总之,Struts2是一个强大且灵活的MVC框架,它...

    freemarker生成html

    Freemarker提供了丰富的标签库,用于控制逻辑和数据处理。其中一些常用标签包括: - `#foreach`:循环遍历集合或数组。 - `#if`:条件判断。 - `#set`:变量赋值。 - `#list`:处理列表。 - `#include`:包含其他...

    Struts标签库查询手册

    - 在JSP页面中引入Struts标签库,通过`指令完成。 - 标签属性的设置,例如`value`、`name`、`action`等,根据具体标签的语义来配置。 - 标签之间的嵌套,可以组合实现复杂功能。 - 配合OGNL(Object-Graph ...

    Struts2 标签库

    Struts2标签库支持多种表现技术,包括JSP、FreeMarker和Velocity。这意味着在Struts2项目中,开发者可以根据具体需求选择最适合的表现层技术,同时保持标签库的使用。 Struts2标签库的通用标签主要分为三类: - ...

    sitemesh和freemarker结合自我总结

    **注意**:为了让Freemarker能识别并使用Struts2提供的标签,需要在`web.xml`中配置相应的过滤器。 - **Struts.xml配置**:定义不同业务场景的结果视图。 ```xml &lt;result name="success" type="freemarker"&gt;/...

Global site tag (gtag.js) - Google Analytics