In this example we are going to see how we can use FreeMaker as the view technology. Freemaker is a popular templating engine that is used to generate output using predefined templates. Let us create a Freemaker template file called hello.fm with the following contents:
Hello World ${name}
Here above file is a template where name is a paramter which will be passed from outside using the defined action. You will keep this file in your CLASSPATH. Next, let us modify the struts.xml to specify the result as follows:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.devMode" value="true" />
<package name="helloworld" extends="struts-default">
<action name="hello"
class="com.tutorialspoint.struts2.HelloWorldAction"
method="execute">
<result name="success" type="freemarker">
<param name="location">/hello.fm</param>
</result>
</action>
</package>
</struts>
分享到:
相关推荐
Struts2 Result 配置详解 Struts2 框架中 Result 配置是一种非常重要的配置,它直接影响着应用程序的执行结果。Result 配置通常用于定义 Action 的执行结果,例如将结果.redirect 到一个新的 URL,或者将结果....
<result type="freemarker">/WEB-INF/views/myTemplate.ftl</result> ``` 这段配置表示当调用"myAction"时,使用"MyTemplate.ftl"这个FreeMarker模板来生成响应。 总的来说,Struts和FreeMarker的结合为Java Web...
`class="org.apache.struts2.views.freemarker.FreemarkerResult"`。 4. **httpheader**: HttpHeader Result Type用于设置HTTP响应头,例如重定向、设置缓存策略等。`class="org.apache.struts2.dispatcher....
在实际应用中,开发者可以根据需求选择合适的Result类型,通过在`struts.xml`配置文件中定义result元素,指定name(通常为Action的返回码)和type(对应Result类型),以及对应的资源路径,来实现Action执行后的页面...
<result-type name="freemarker" class="org.apache.struts2.views.freemarker.FreemarkerResult"/> </result-types> ``` 3. **创建FreeMarker模板**:在`src/main/resources/WEB-INF/classes`目录下创建`ftl`...
### Struts2中的Result与Type详解 #### 一、引言 在Struts2框架中,`Result`和`Type`是两个非常重要的概念。它们主要用于控制Action执行完毕后页面的跳转方式以及如何处理Action返回的结果。通过合理配置`Result`与...
<result-type name="freemarker" class="org.apache.struts2.views.freemarker.FreemarkerResult"/> </result-types> ``` 这里我们设置了FreeMarker模板的加载路径,并定义了一个结果类型`freemarker`,将动作...
例如,设置`<result type="freemarker">/WEB-INF/views/result.ftl</result>`。 2. **数据传递**:Action中的属性会自动暴露给FreeMarker,以便在模板中使用。FreeMarker可以通过`${}`访问这些属性,实现数据的动态...
Struts2和Freemarker是Java Web开发中的两个重要组件,它们在构建MVC(Model-View-Controller)架构的应用程序中发挥着关键作用。Struts2作为一个强大的MVC框架,负责处理请求、控制应用程序流程,而Freemarker则是...
<result type="freemarker">/WEB-INF/pages/index.ftl</result> ``` 在`index.ftl`模板文件中,你可以使用FreeMarker语法结合Struts2的标签库来生成HTML。为了使用Struts2的标签,如`s:textfield`,需要在模板的...
<result type="freemarker">/WEB-INF/content/example.ftl</result> ``` 5. **生成XML** 当用户访问`/example.action`时,Struts2会调用`ExampleAction`的`execute`方法,设置模型数据,然后根据`struts.xml...
<result-type name="freemarker" class="org.apache.struts2.views.freemarker.FreemarkerResult"/> </result-types> ``` 3. **创建Freemarker模板**:在项目的WEB-INF目录下创建一个名为`ftl`的目录,存放...
这通常涉及到添加`<result-type>`配置,指定为`freemarker`类型。 2. **Action与模型绑定**:Struts2的Action类可以直接返回一个Model对象,该对象将自动注入到FreeMarker模板中。Action中的结果配置可以指定模板...
<result type="freemarker">/path/to/your/template.ftl</result> ``` 3. **配置FreeMarker**:在`web.xml`中配置FreeMarker的Servlet,指定模板目录等参数。同时,需要在Struts2的配置中声明FreeMarker为默认...
<result name="success" type="redirectAction"> <param name="actionName">anotherAction <param name="namespace">/admin </result> ``` 这里的`param`标签用于传递参数,`actionName`和`namespace`分别表示要...
<result type="freemarker">/fm.ftl</result> ``` 在`.ftl`文件中,可以利用FreeMarker的语法以及Struts2的标签库。为了在FreeMarker模板中使用Struts2的标签,首先需要引入Struts2的TLD文件。这可以通过在`.ftl`...
<result type="freemarker">/WEB-INF/fmtemplates/success.ftl</result> <result type="velocity">/WEB-INF/vm/success.vm</result> ``` 6. **Tiles**:集成Tiles框架,用于构建复杂的布局和组件化视图。 ```...
<result type="freemarker">/hello.ftl</result> ``` 这里,`hello`是Action的名字,`com.example.HelloWorldAction`是对应的Action类,`/hello.ftl`是处理结果后显示的FreeMarker模板文件路径。 2. **编写...
public class FreemarkerResult extends org.apache.struts2.views.freemarker.FreemarkerResult { private String targetPath; // 静态页面的目标路径 public void execute(Writer writer) throws Exception ...
这通常涉及到添加`<result-type>`元素,并设置`class`属性为`org.apache.struts2.views.freemarker.FreemarkerResult`。 2. **创建FreeMarker模板**:在项目的`/WEB-INF/freemarker`目录下创建`.ftl`文件,这是...