请教大家一个问题,我使用struts2 + freemarker 发生了一个由freemarker 读取模板,但是没有替换 [${}] 里面的内容。 代码如下: 只贴相对应内容。Map<String,Object> root = new HashMap<String,Object>();
root.put("form", form);
root.put("test", "test");
template.process(root, out);
out.flush();
return template.toString();
模板: document_form.tld 内容hello: ${test}
简单的流程如下, 我调用一个action 通过action 跳转到页面ADD_INPUT.JSP 在add_input.jsp 页面里写了个自己的JSTL函数, 调用了freemarker的功能 调用后会返回一个字符串,(此字符串为freeemarker 读取模板然后把需要替换的东西替换后生成的字符串)
当转换完成后,我发现并没有把需要转换的东西转换掉如:${test} 没有转换成我代码里面写的 test 字符串。 但是如果我换成FileWriter的话, 是可以转换掉的。 不知道哪位大虾遇过这问题,麻烦给点思路, 谢谢。
分享到:
相关推荐
<constant name="struts.freemarker.templates.loader.class" value="org.apache.struts2.views.freemarker.StrutsTemplateLoader"/> <constant name="struts.freemarker.settings.template_path" value="/WEB-INF...
10. **Struts2与FreeMarker的集成**:如何在Action中设置模型数据,然后在FreeMarker模板中获取并显示这些数据。 11. **测试Struts2应用**:了解如何使用JUnit进行单元测试,以及Struts2提供的Mock对象进行集成测试...
在 Struts2 和 FreeMarker 结合的应用中,iBatis 通常用于处理数据持久层的操作,将查询结果传递给 Action 类,进而由 Struts2 路由到 FreeMarker 模板进行展示。 【入门学习步骤】 1. **新建工程**:首先,你需要...
- **Action类改造**: 将原本在JSP中使用的EL表达式和JSTL标签替换为Freemarker语法。 - **创建Freemarker模板**: 设计并创建与Action相对应的Freemarker模板文件(.ftl),放置在指定的模板目录下。 - **配置结果...
在描述中提到的博文链接指向了一个ITEYE博客文章,虽然具体内容未提供,但可以推测博主可能分享了如何在不改变Struts2核心功能的情况下,自定义`FieldError`的显示方式,以达到去除或替换默认样式的目的是常见的需求...
Struts1、Spring和Hibernate是Java Web开发中的三个...随着经验的积累,开发者可以逐步添加更多的功能和优化,比如引入Spring Security进行权限管理,或者使用Spring MVC替换Struts1以利用其更现代的特性和性能优势。
struts2-convention-plugin-2.3.32.jar struts2-core-2.3.32.jar struts2-spring-plugin-2.3.32.jar xwork-core-2.3.32.jar 2、删除上面原有的低版本jar 3、修改 WEB-INF\classes 目录下struts.xml 文件,...
3. **依赖库**:可能包括ognl.jar(Object-Graph Navigation Language)、freemarker.jar(模板引擎)、xwork-core.jar(XWork框架基础,Struts2的前身)等,这些都是Struts2工作所必需的第三方库。 4. **持久化库**...
"lib"文件夹中的内容很可能是所有必需的库文件,这些文件是Struts2框架运行所依赖的,包括核心组件、插件和其他第三方库,如OGNL库、Spring框架、Apache Commons等。 Struts2框架的核心组件包括Action、Result、...
- **模块化设计**:Struts2采用模块化的架构设计,使得各个组件易于替换和扩展。 - **支持多种视图技术**:不仅限于JSP,还支持Velocity、Freemarker等模板引擎。 - **拦截器机制**:提供了灵活的拦截器机制,用于...
4. **插件系统**:Struts2支持插件扩展,开发者可以通过编写插件来添加新功能或替换已有功能,这大大提高了框架的可扩展性。例如,Struts2的展示层支持FreeMarker、JSP、Velocity等多种模板技术。 5. **Action配置*...
2. 如何在Struts框架中配置和使用FreeMarker,包括模板的加载路径、数据模型的传递等。 3. 设计良好的模板结构,如何组织模板文件以实现模块化和复用。 4. 使用FreeMarker进行动态页面生成,包括条件判断、循环、...
Struts 2使用FreeMarker来渲染视图,这次更新可能包含了修复FreeMarker自身安全问题的补丁。 2. `struts2-core-2.3.32.jar`:这是Struts 2的核心库,包含了框架的主要功能,如Action、Result、Interceptor等。升级...
Struts2是其后续版本,但在这个项目中,可能使用的是Struts1。 **Hibernate** Hibernate是一个Java ORM(对象关系映射)框架,用于简化数据库操作。它自动管理数据库会话,使得开发者可以以面向对象的方式处理数据...
**结合使用**:在Struts中,Freemarker可以作为视图层的模板引擎,替换传统的JSP。Action将处理后的数据放入Model,然后通过Freemarker解析模板,生成最终的HTML响应。这种方式提高了开发效率,增强了代码的可读性...
1. 引入标签库:在JSP页面中,通过`<%@ taglib prefix="s" uri="/struts-tags"%>`引入Struts2的标签库,这里的`s`是自定义前缀,可以替换为其他字符。 2. 使用标签:例如,使用`s:textfield`创建一个输入框: ```...
**示例**:通常使用默认的实现类`org.apache.struts2.views.freemarker.FreemarkerManager`。 **应用场景**:当需要扩展或自定义Freemarker模板引擎的功能时,可以替换默认实现类。 #### struts.i18n.encoding **...
Struts2 和 FreeMarker 是两个在Java Web开发中广泛使用的框架。Struts2 是一个基于MVC(Model-View-Controller)设计模式的开源框架,主要用于构建企业级的Web应用程序,而FreeMarker则是一个模板引擎,它允许...
然而,任何软件系统都无法完全避免安全隐患,Struts2也不例外。 在2017年,Struts2被曝出多个严重漏洞,包括但不限于S2-045和S2-046。这些漏洞的存在使得攻击者能够通过构造特定的数据包实现远程代码执行(RCE),...
在Struts2中,Freemarker模板作为视图组件,接收由控制器(Struts2的Action)传递的数据,并根据模板规则生成响应内容。例如,`.ftl`文件(Freemarker模板文件)中,我们可以看到如下的语句: ```html <h1>...