struts 2統合FreeMarker開発HelloWorld
4007 ワード
今日Freemarkerを見て、struts 2と統合して、いわゆる本当のMVCを実現したいと思っています.
ネットで資料を探して、大体見ました.しかし、Freemarkerの開発では、良いIDEは1つもなく、訴訟側が提供するEclipseプラグインの機能は強くなく、文法がハイライトされた機能が1つしかなく、従来の自動提示などにはいくつもありません.
私たちはただ手書きにするしかなかった.ははは
まず、FirstFreemarkerというWEBプロジェクトを新設し、struts 2でよく使われる6つのJARパッケージを追加します.srcディレクトリの下にstruts.xmlを追加
コードは次のとおりです.
その後、WebRootディレクトリの下に必要なflt形式のファイル、すなわちFreemarkerファイルを新規作成します.
ログインファイルは次のとおりです.
内
ログインに成功したページは以下の通りです:
Hello
Hello, ${name}
ネットで資料を探して、大体見ました.しかし、Freemarkerの開発では、良いIDEは1つもなく、訴訟側が提供するEclipseプラグインの機能は強くなく、文法がハイライトされた機能が1つしかなく、従来の自動提示などにはいくつもありません.
私たちはただ手書きにするしかなかった.ははは
まず、FirstFreemarkerというWEBプロジェクトを新設し、struts 2でよく使われる6つのJARパッケージを追加します.srcディレクトリの下にstruts.xmlを追加
コードは次のとおりです.
<?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.enable.DynamicMethodInvocation" value="false" />
<constant name="struts.devMode" value="false" />
<package name="default" extends="struts-default">
<action name="test" class="com.test.TestAction">
<result name="success" type="freemarker">test-success.ftl
</result>
</action>
<action name="login">
<result type="freemarker">/login.ftl
</result>
</action>
</package>
</struts>
その後、WebRootディレクトリの下に必要なflt形式のファイル、すなわちFreemarkerファイルを新規作成します.
ログインファイルは次のとおりです.
<#assign s=JspTaglibs["/WEB-INF/struts-tags.tld"] />
<html>
<head>
<title>Hello</title>
</head>
<body>
<@s.form action="/test.action">
<@s.textfield name="name"/>
<@s.submit/>
</@s.form>
</body>
</html>
内
<#assign s=JspTaglibs["/WEB-INF/struts-tags.tld"] />
この文は、Freemarkerにstruts 2のラベルを認識させるためです.Freemarkerファイル内では、それ自体を除いて、そのまま表示されるからです.ログインに成功したページは以下の通りです:
Hello, ${name}
web.xml :
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>Struts Blank</display-name>
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>JspSupportServlet</servlet-name>
<servlet-class>org.apache.struts2.views.JspSupportServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<welcome-file-list>
<welcome-file>login.action</welcome-file>
</welcome-file-list>
</web-app>
JAvaコードは の りです:package com.test;
import com.opensymphony.xwork2.ActionSupport;
public class TestAction extends ActionSupport {
private String name = "ChainHou";
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String execute() throws Exception {
return SUCCESS;
}
}
さあ、これでstruts 2 FreemarkerのHelloWorldが わります.
コードは の に ファイルとしてアップロードします.