新建一個工程struts2工程teaweb(因為現(xiàn)在所做的項目是一個關于茶葉,茶文化的),導入jar包(基本的幾個jar包:commons-logging-1.0.4.jar,freemarker- 2.3.8.jar,ognl-2.6.11.jar,struts2-core-2.0.10.jar,xwork-2.0.4.jar),配置 struts.xml配置內(nèi)容如下
?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.action.extension" value="ph" />
constant name="struts.multipart.maxSize" value="1000000000"/>
package name="teaweb" extends="json-default" namespace="/">
action name="test" class="com.teaweb.action.TestAction">
result type="json">/result>
/action>
/package>
/struts>
注意此處的:extends="json-default" ,result type="json">/result>
配置web.xml,內(nèi)容如下:
?xml version="1.0" encoding="UTF-8"?>
web-app 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">
filter>
filter-name>struts2/filter-name>
filter-class>org.apache.struts2.dispatcher.FilterDispatcher/filter-class>
/filter>
filter-mapping>
filter-name>struts2/filter-name>
url-pattern>*.ph/url-pattern>
/filter-mapping>
filter-mapping>
filter-name>struts2/filter-name>
url-pattern>*.jsp/url-pattern>
/filter-mapping>
jsp-config>
taglib>
taglib-uri>/WEB-INF/struts-tags.tld/taglib-uri>
taglib-location>/WEB-INF/struts-tags.tld/taglib-location>
/taglib>
/jsp-config>
welcome-file-list>
welcome-file>index.jsp/welcome-file>
/welcome-file-list>
/web-app>
新建一個java類為TestAction,java代碼為:
package com.teaweb.action;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.List;
import com.teaweb.bean.TestBean;
import com.teaweb.dao.TestDAO;
public class TestAction extends PublicAction {
private TestBean testBean;
private long results;
private TestDAO testDAO=new TestDAO();
private List list;
public String select() {
// TODO Auto-generated method stub
response.setCharacterEncoding("gb2312");
list=testDAO.select();
results=list.size();
return SUCCESS;
}
public String login() {
// TODO Auto-generated method stub
try {
request.setCharacterEncoding("utf-8");
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
response.setCharacterEncoding("gb2312");
TestBean result=testDAO.selectbyname(testBean);
if(result!=null){
outString("{success:true,msg:'"+result.getName()+"登錄成功'}");
}else{
outString("{failure:true,msg:'登錄失敗'}");
}
return null;
}
public TestBean getTestBean() {
return testBean;
}
public void setTestBean(TestBean testBean) {
this.testBean = testBean;
}
public List getList() {
return list;
}
public void setList(List list) {
this.list = list;
}
public long getResults() {
return results;
}
public void setResults(long results) {
this.results = results;
}
}
其中TestBean 是一個實體類,還有一個連接數(shù)據(jù)庫查詢的方法,只要能查出為List結果就可以了
我這里做了一個登陸和查詢所有TEST表里的信息兩個方法
其中l(wèi)ogin.jsp代碼為:
%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
html>
head>
title>My JSP 'login.jsp' starting page/title>
meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
meta http-equiv="description" content="This is my page">
link rel="stylesheet" type="text/css" href="/ext2/resources/css/ext-all.css" />
script type="text/javascript" src="/ext2/adapter/ext/ext-base.js">/script>
script type="text/javascript" src="/ext2/ext-all.js">/script>
/head>
body>
script type="text/javascript">
Ext.onReady(function(){
Ext.QuickTips.init();
var form1=new Ext.FormPanel({
renderTo:"panel1",
width:500,
height:300,
frame:true,
title:"ajax提交",
collapsible:true,
minButtonWidth:60,
labelAlign:"right",
defaultType:"textfield",
url:"test!login.ph",
items:[{
fieldLabel:"用戶名",
id:"txtName",
name:'testBean.name',
allowBlank:false,
blankText:"用戶名不能為空!"
},{
fieldLabel:"密碼",
allowBlank:false,
blankText:"密碼不能為空!",
name:'testBean.password',
inputType:'password'
},{
fieldLabel:"備注"
}],
buttons:[{
text:"提交",
handler:function(){
if(form1.getForm().isValid()) {
form1.getForm().submit({
success:function(from,action) {
Ext.Msg.alert("返回提示",action.result.msg);
window.location = 'index.jsp';
},
failure:function(form,action) {
Ext.Msg.alert("返回提示",action.result.msg);
}
});
}
}
},{
text:"重置",
handler:function() {
form1.getForm().reset();
}
}]
});
});
/script>
div id="panel1"> /div>
/body>
/html>
其中index.jsp頁面代碼為:
%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
html>
head>
title>index/title>
meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
meta http-equiv="description" content="This is my page">
link rel="stylesheet" type="text/css" href="/ext2/resources/css/ext-all.css" />
script type="text/javascript" src="/ext2/adapter/ext/ext-base.js">/script>
script type="text/javascript" src="/ext2/ext-all.js">/script>
/head>
body>
script type="text/javascript">
Ext.onReady(function(){
var store=new Ext.data.JsonStore({
url:"test!select.ph",
totalProperty: "results",
root: "list",
fields:[{name:'id',mapping:'id'}, {name:'name',mapping:'name'},{name:'password',mapping:'password'}]
});
store.load();
var gird=new Ext.grid.GridPanel({
renderTo:"hello",
title:"歡迎登錄",
height:150,
width:300,
columns:[
{header:"編號",dateindex:"id"},
{header:"賬號",dateindex:"name"},
{header:"密碼",dateindex:"password"}
],
store:store,
autoExpandColumn:2
})
})
/script>
div id="hello"> /div>
/body>
/html>
您可能感興趣的文章:- 關于Struts2的類型轉(zhuǎn)換詳解
- struts2單個文件上傳的兩種實現(xiàn)方式
- Java以struts2為例介紹如何實現(xiàn)圖片上傳
- java Struts2 在攔截器里的跳轉(zhuǎn)問題
- 如何解決struts2日期類型轉(zhuǎn)換
- struts2 中文亂碼的解決辦法分享
- struts2中simple主題下s:fieldError>標簽默認樣式的移除方法