博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
struts2下配置velocity
阅读量:6355 次
发布时间:2019-06-23

本文共 2678 字,大约阅读时间需要 8 分钟。

1.通过maven加载依赖

1
2
3
4
5
6
7
8
9
10
<
dependency
>
    
<
groupId
>org.apache.velocity</
groupId
>
    
<
artifactId
>velocity</
artifactId
>
    
<
version
>1.7</
version
>
</
dependency
>
<
dependency
>
    
<
groupId
>org.apache.velocity</
groupId
>
    
<
artifactId
>velocity-tools</
artifactId
>
    
<
version
>2.0</
version
>
</
dependency
>

2.编辑web.xml

1
2
3
4
5
6
7
8
9
<!-- 定义Velocity -->
<
servlet
>
    
<
servlet-name
>velocitylayout</
servlet-name
>
    
<
servlet-class
>org.apache.velocity.tools.view.servlet.VelocityViewServlet</
servlet-class
>
</
servlet
>
<
servlet-mapping
>
    
<
servlet-name
>velocitylayout</
servlet-name
>
    
<
url-pattern
>*.vm</
url-pattern
>
</
servlet-mapping
>

3.在struts.xml中添加测试使用的action

1
2
3
4
5
<package name=
"frame-default" 
extends=
"struts-default,json-default"
>
    
<action name=
"example_*" 
method=
"{1}" 
class=
"exampleAction"
>
        
<result>/WEB-INF/vm/example/{1}.vm</result>
    
</action>
</package>

4.在/WEB_INF/vm下创建login.vm

1
2
3
4
5
6
7
8
9
<
html
>
    
<
head
>
        
<
title
>Velocity</
title
>
        
<
meta 
http-equiv
=
"content-type" 
content
=
"text/html; charset=UTF-8"
>
    
</
head
>
    
<
body
>
        
<
h2
>你好: $username</
h2
>
    
</
body
>
</
html
>

5.创建ExampleAction

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
@Service
(
"exampleAction"
)
public 
class 
ExampleAction 
extends 
BaseAction {
    
@Autowired
    
private 
ExampleService exampleService;
    
private 
String username;
    
private 
String password;
    
public 
String getUsername() {
        
return 
username;
    
}
    
public 
void 
setUsername(String username) {
        
this
.username = username;
    
}
    
public 
String getPassword() {
        
return 
password;
    
}
    
public 
void 
setPassword(String password) {
        
this
.password = password;
    
}
    
public 
String login() 
throws 
Exception {
        
System.out.println(
"login"
);
        
this
.exampleService.save(
this
.getUsername());
        
return 
Action.SUCCESS;
    
}
    
public 
String execute() 
throws 
Exception {
        
System.out.println(
"execute"
);
        
return 
Action.SUCCESS;
    
}
}

6.最后在index.html中

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<
html
>
    
<
head
>
        
<
title
>Example</
title
>
        
<
meta 
http-equiv
=
"content-type" 
content
=
"text/html; charset=UTF-8" 
/>
    
</
head
>
    
<
body
>
        
<
h2
>Hello World!</
h2
>
        
<
form 
method
=
"post" 
action
=
"example_login.action"
>
            
<
table 
align
=
"center"
>
                
<
caption
><
h3
>用户登录</
h3
></
caption
>
                
<
tr
>
                    
<
td
>用户名:<
input 
type
=
"text" 
name
=
"username" 
/></
td
>
                
</
tr
>
                
<
tr
>
                    
<
td
>密码:<
input 
type
=
"text" 
name
=
"password" 
/></
td
>
                
</
tr
>
                
<
tr 
align
=
"center"
>
                    
<
td 
colspan
=
"2"
>
                        
<
input 
type
=
"submit" 
value
=
"登录" 
/>
                        
<
input 
type
=
"reset" 
value
=
"重填"
/>
                    
</
td
>
                
</
tr
>
            
</
table
>
        
</
form
>
    
</
body
>
</
html
>
本文转自 LinkedKeeper 51CTO博客,原文链接:http://blog.51cto.com/sauron/1271587,如需转载请自行联系原作者
你可能感兴趣的文章
node.js原型继承
查看>>
揭露让Linux与Windows隔阂消失的奥秘(1)
查看>>
我的友情链接
查看>>
Mysql备份和恢复策略
查看>>
linux17-邮件服务器
查看>>
AS开发JNI步骤
查看>>
Android NDK开发:JNI基础篇
查看>>
使用Maven命令快速建立项目结构
查看>>
二分查找,php
查看>>
python面试题-django相关
查看>>
Python——eventlet.greenthread
查看>>
记大众点评之面试经历
查看>>
第三章:基本概念
查看>>
Jersey+mybatis实现web项目第一篇
查看>>
C++形参中const char * 与 char * 的区别
查看>>
espresso 2.0.4 Apple Xcode 4.4.1 coteditor 价格
查看>>
Object-C中emoji与json的问题
查看>>
一、Lambda表达式
查看>>
linux 命令
查看>>
灾后重建
查看>>