1.继承FreemarkerManager重写createConfiguration方法
package com.rx.freemarker;
import javax.servlet.ServletContext;
import org.apache.struts2.views.freemarker.FreemarkerManager;
import freemarker.template.Configuration;
import freemarker.template.TemplateException;
public class MyFreemarkerManager extends FreemarkerManager {
@Override
protected Configuration createConfiguration(ServletContext servletContext)
throws TemplateException {
Configuration configuration = super.createConfiguration(servletContext);
// 设置标签类型([]、<>),[]这种标记解析要快些
configuration.setTagSyntax(Configuration.AUTO_DETECT_TAG_SYNTAX);
return configuration;
}
}
2.在struts.properties中配置自定义管理类
struts.freemarker.manager.classname=com.rx.freemarker.MyFreemarkerManager
3.模板
[#list ranks as rank]
${rank}
[/#list]
分享到:
相关推荐
在Struts2中,FreeMarker模板作为视图层,用于渲染控制器处理后传递的数据。FreeMarker模板语言简洁且强大,可以动态地将数据模型与HTML模板结合,生成最终的网页。开发者可以通过 `${}` 符号来引用数据模型中的变量...
在Struts2中,`FieldError`是用来表示表单验证失败时的错误信息。当用户输入的数据不符合预定义的验证规则时,Struts2会将这些错误信息绑定到Action类的属性上,并在视图层展示出来,通常以红色高亮显示。 在标题...
在Struts2中,结果类型(Result Type)是动作执行后处理结果的关键部分,它决定了如何将控制权转移给下一个资源,如JSP、FreeMarker模板或者重定向到其他URL。自定义结果类型允许开发者根据项目需求定制化结果处理...
- **Struts2**: Struts2中的Action更像是工厂模式下的产品,每个Action实例都是线程安全的。Struts2提供了ActionSupport基类来简化Action的实现。Action本身可以是任何实现了特定接口的Java对象,甚至是普通的POJO。...
- **在Struts2中使用FreeMarker**:配置Struts2以使用FreeMarker作为视图层。 - **使用Struts2标签**:在FreeMarker模板中使用Struts2提供的标签。 - **作为表现层**:使用FreeMarker来渲染视图。 - **解析模板中的...
在Struts2中,FreeMarker或JSP可以作为视图层技术来使用。 `javassist-3.7.ga.jar`是Java编程辅助库,它提供了一种在运行时修改类和接口的能力,这对于框架动态生成代理类和实现动态AOP(面向切面编程)非常有用。 ...
在Struts2中,它作为日志服务的抽象层,使得开发者可以在不修改代码的情况下切换不同的日志实现,如Log4j、Java Util Logging或Simple Logging Facade for Java (SLF4J)。 2. **freemarker** FreeMarker是一个模板...
该属性指定了是否允许在Struts 2标签中使用表达式语法,默认值为`true`,表示允许使用。 #### struts.devMode 此属性设定了Struts 2应用是否使用开发模式,默认值为`false`。当设置为`true`时,在应用出错时可以...
- 使用JSP或FreeMarker模板文件创建视图,使用Struts2标签库(例如`s:property`,`s:form`等)与Action进行交互。 5) **拦截器**: - 自定义或使用内置的拦截器,如Params拦截器处理参数,Validation拦截器进行...
1. **依赖库的更新**:升级Struts2的同时,还需要检查和更新所有依赖的库,例如在提供的文件列表中,我们看到了freemarker、log4j、javassist、commons-collections等。确保这些库与Struts2的新版本兼容,避免出现...
在Struts2中,我们可以通过Spring或Apache DBCP等第三方库来管理数据源。配置文件如Web.xml或应用的特定配置文件中应包含数据库连接参数,如URL、用户名、密码等。 进行CRUD操作时,我们需要设计对应的实体类,这些...
3. **Struts2插件配置** - 如果使用了特定插件,如JSON或FreeMarker,可以在`<struts>`标签内添加相应的插件配置。 在Struts2 v2.1.6中,确保所有必需的jar包都被包含在类路径中,并正确配置`web.xml`以启动和配置...
在Struts2中,资源文件通常是`.properties`格式,如`messages_en.properties`用于英语,`messages_zh_CN.properties`用于简体中文。这些文件存储了应用中的所有可本地化的字符串,例如错误消息、提示信息等。 3. *...
5. **页面开发**:利用Struts2提供的标签库或者其他技术如JSP、Freemarker等完成前端页面的开发。 #### 五、Struts2的常见问题与解决方案 1. **依赖冲突**:在使用Struts2的过程中可能会遇到与其他框架的依赖冲突...
此外,Struts2支持多种结果类型,如JSP、FreeMarker、Velocity等。 2. **Action类**:在Struts2中,Action类是业务逻辑的载体。你需要创建一个Action类,继承自`ActionSupport`或自定义的Action父类,并重写`...
此外,文档还介绍了Object-Graph Navigation Language (OGNL),这是Struts2中的表达式语言,用于数据绑定和类型转换。在进行数据校验方面,Struts2提供了一套内置的验证机制,确保了输入数据的正确性。Web项目国际化...
接下来,学习如何创建Action、配置Action映射、使用结果类型、拦截器等,以及如何使用Struts2的UI标签和OGNL表达式,将使你更深入地理解并运用Struts2框架。记得实践是学习的最佳途径,尝试创建一个简单的Struts2...
2. **Action与ActionSupport**:在Struts2中,Action是业务逻辑的载体,继承自ActionSupport类的Action可以利用框架提供的诸多便利,如国际化支持、数据验证等。Action类的execute方法定义了处理请求的逻辑,返回一...
在Struts2中,通常会有一个Action类对应一个特定的用户操作,例如添加学生、删除学生、更新学生信息等。 数据库连接部分,由于使用的是MySQL,你可能会在项目中找到关于JDBC的配置文件(如`db.properties`),...
在Struts2中,通常通过Action类来实现模型层,Action类处理用户请求,与数据库交互并返回结果。 2. **视图(View)**:视图负责展示数据,通常由JSP页面或FreeMarker模板实现。Struts2允许开发者使用OGNL(Object-...