sm702 发表于 2017-1-14 08:48:07

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

  在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
……
页: [1]
查看完整版本: struts2 velocity模板输出的例子/java.lang.NoClassDefFoundError: org/apache/commons/diges