struts2 velocity模板输出的例子/java.lang.NoClassDefFoundError: org/apache/commons/digester/RuleSet

在struts.xml配置文件里,result标签可以定义type,其中一种type类型为velocity,这是一个模板,可以定义这种方式输出内容

1.struts.xml文件中的配置

 <action name="VMHelloWorld" class="com.koubei.Hello">
            <result type="velocity">/HelloWorld.vm</result>
        </action>

2.action类代码

package com.koubei;


import java.util.Date;
import java.text.DateFormat;
import com.opensymphony.xwork2.ActionSupport;


public class Hello extends ActionSupport {
private String message;


public String getMessage() {
return message;
}


public void setMessage(String message) {
this.message = message;
}


public String execute() {
message = "Hello World, Now is "
+ DateFormat.getInstance().format(new Date());
if (message == null) {
return "failure";
}
return SUCCESS;
}
}

3.模板代码,新建Hello.vm文件

<html>
<head>
<title>Velocity</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<h2>Message rendered in Velocity: $message</h2>
</body>
</html>

想要以模板输出,必须引入velocity的一些包,包括:

velocity-tools-2.0.jar

velocity-1.7.jar

velocity-1.7-dep.jar

commons-digester-1.8.jar

第四个包必须加入,否则会出现以下错误

javax.servlet.ServletException: Filter execution threw an exception
java.lang.NoClassDefFoundError: org/apache/commons/digester/RuleSet
……
 
 

你可能感兴趣的:(struts,String,filter,velocity,Class,action)