Struts例子Word格式.docx
《Struts例子Word格式.docx》由会员分享,可在线阅读,更多相关《Struts例子Word格式.docx(31页珍藏版)》请在冰豆网上搜索。
http:
//struts.apache.org/dtds/struts-2.0.dtd"
5.<
struts>
6.
<
constant
name="
struts.enable.DynamicMethodInvocation"
value="
true"
/>
7.
struts.devMode"
8.
include
file="
helloworld.xml"
9.<
/struts>
xmlversion="
encoding="
?
DOCTYPEstrutsPUBLIC
"
-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.0//EN"
<
constantname="
value="
/>
includefile="
HelloWorld.xml
struts-default.xml"
package
helloworld"
namespace="
/"
extends="
struts-default"
interceptors>
9.
interceptor
name
="
authentication"
class
com.jamesby.struts2.LogonInterceptor"
10.
interceptor-stack
helloWorldStack"
11.
interceptor-ref
12.
paramsPrepareParamsStack"
13.
/interceptor-stack>
14.
/interceptors>
15.
default-interceptor-ref
16.
global-results>
17.
result
login"
/WEB-INF/jsp/Logon.jsp<
/result>
18.
/global-results>
19.
action
Logon_*"
method="
{1}"
class="
com.jamesby.struts2.Logon"
20.
21.
type="
redirect-action"
Main<
22.
input"
23.
/action>
24.
crud"
com.jamesby.struts2.UserAction"
25.
list"
/WEB-INF/jsp/userList.jsp<
success"
crud!
list<
26.
/WEB-INF/jsp/userForm.jsp<
27.
28.
*"
com.jamesby.struts2.ExampleSupport"
29.
result>
/WEB-INF/jsp/{1}.jsp<
30.
31.
/package>
32.<
packagename="
namespace="
extends="
interceptorname="
class="
interceptor-stackname="
interceptor-refname="
<
default-interceptor-refname="
<
resultname="
actionname="
method="
class="
resulttype="
<
type="
LogonInterceptor.java
1.package
com.jamesby.struts2;
2.import
java.util.Map;
3.import
com.jamesby.struts2.persist.User;
4.import
com.opensymphony.xwork2.Action;
5.import
com.opensymphony.xwork2.ActionInvocation;
6.import
com.opensymphony.xwork2.interceptor.AbstractInterceptor;
7.public
LogonInterceptor
extends
AbstractInterceptor{
@Override
public
String
intercept(ActionInvocation
ai)
throws
Exception
{
Map
session
=
ai.getInvocationContext().getSession();
User
user
(User)
session.get("
user"
);
if
(null
user)
return
ai.invoke();
}
else
Action.LOGIN;
}
18.}
packagecom.jamesby.struts2;
importjava.util.Map;
importcom.jamesby.struts2.persist.User;
importcom.opensymphony.xwork2.Action;
importcom.opensymphony.xwork2.ActionInvocation;
importcom.opensymphony.xwork2.interceptor.AbstractInterceptor;
publicclassLogonInterceptorextendsAbstractInterceptor{
@Override
publicStringintercept(ActionInvocationai)throwsException{
Mapsession=ai.getInvocationContext().getSession();
Useruser=(User)session.get("
if(null!
=user){
returnai.invoke();
}else{
returnAction.LOGIN;
}
}
}
Logon.java
org.apache.struts2.interceptor.SessionAware;
org.apache.struts2.interceptor.validation.SkipValidation;
com.jamesby.struts2.persist.DataBaseMock;
7.import
com.opensymphony.xwork2.ActionSupport;
8.public
Logon
ActionSupport
implements
SessionAware
private
session;
void
setSession(Map
session)
this.session
@SkipValidation
doInput()
INPUT;
doLogon()
DataBaseMock.selectUserByUsernameAndPassword(getUsername(),
getPassword());
==
user)
session.put("
user);
SUCCESS;
username;
getUsername()
setUsername(String
username)
this.username
32.
password;
33.
getPassword()
34.
35.
36.
setPassword(String
password)
37.
this.password
38.
39.}
importorg.apache.struts2.interceptor.SessionAware;
importorg.apache.struts2.interceptor.validation.SkipValidation;
importcom.jamesby.struts2.persist.DataBaseMock;
importcom.opensymphony.xwork2.ActionSupport;
publicclassLogonextendsActionSupportimplementsSessionAware{
privateMapsession;
publicvoidsetSession(Mapsession){
this.session=session;
@SkipValidation
publicStringdoInput()throwsException{
returnINPUT;
publicStringdoLogon()throwsException{
Useruser=DataBaseMock.selectUserByUsernameAndPassword(getUsername(),
getPassword());
if(null==user)
returnINPUT;
session.put("
user);
returnSUCCESS;
privateStringusername;
publicStringgetUsername(){
returnusername;
publicvoidsetUsername(Stringusername){
this.username=username;
privateStringpassword;
publicStringgetPassword(){
returnpassword;
publicvoidsetPassword(Stringpassword){
this.password=password;
UserAction.java
java.util.ArrayList;
java.util.HashMap;
java.util.List;
8.import
9.public
UserAction
user=new
User();
List<
User>
userList;
HashMap>
getSexArray()
sexArray
new
ArrayList<
();
HashMap
male
HashMap();
male.put("
key"
new
Integer
(1));
value"
"
男"
female
female.put("
Integer
(2));
女"
sexArray.add(male);
sexArray.add(female);
sexArray;
getFromArray()
fromArray
bj
bj.put("
id"
name"
北京"
sh
sh.put("
上海"
tj
tj.put("
Integer(3));
天津"
fromArray.add(bj);
fromArray.add(sh);
fromArray.add(tj);
fromArray;
39.