創建form數據對象
打開File
>new
>package對話框
name中輸入com
is
form
點擊Finish按鈕
在右邊的Package Explorer樹中找到剛才創建的包
右鍵點擊com
is
form包
菜單中的new
>others
找到Amateras
>struts
>Struts Action Form
點擊next
在對話框中name欄輸入LoginForm
點擊Finish按鈕
編輯LoginForm類的內容為
package com
is
form;
import org
apache
struts
action
ActionForm;
public class LoginForm extends ActionForm
{
private static final long
serialVersionUID =
L;
private String username =
;
private String password =
;
/**
* @return Returns the password
*/
public String getPassword()
{
return password;
}
/**
* @param password The password to set
*/
public void setPassword(String password)
{
this
password = password;
}
/**
* @return Returns the username
*/
public String getUsername()
{
return username;
}
/**
* @param username The username to set
*/
public void setUsername(String username)
{
this
username = username;
}
}
注意
這裡的兩個屬性分別對應我們jsp中form中的兩個輸入控件的名稱
為什麼這樣做
可以去看struts的幫助文檔了
我就不詳細說了
還有form類再寫完屬性後
get和set方法可以通過eclipse的source中的命令來自動生成
在右鍵菜單中
也不詳細說了
去網上查資料吧
關於eclipse的使用有很多的文檔
七安裝Eclipse HTML Editor插件 解壓縮tleditor_
zip包
然後將plugins目錄拷貝至D:\eclipse目錄下覆蓋原文件夾即可
到此Eclipse HTML Editor插件安裝完成
八安裝StrutsIDE插件 解壓縮tk
eclipse
plugin
struts_
zip包
然後將plugins目錄拷貝至D:\eclipse目錄下覆蓋原文件夾即可
好了
到此StrutsIDE插件安裝完成
創建action對象
同創建form的過程相同
我們只是新建一個com
is
action包
同樣的過程
打開新建向導
只是選擇Struts Action
創建LoginAction
java類
均選默認值
我們編輯LoginAction為如下內容
package com
is
action;
import javax
servlet
http
HttpServletRequest;
import javax
servlet
http
HttpServletResponse;
import org
apache
struts
action
Action;
import org
apache
struts
action
ActionForm;
import org
apache
struts
action
ActionForward;
import org
apache
struts
action
ActionMapping;
import com
is
form
LoginForm;
public class LoginAction extends Action
{
private static final long serialVersionUID =
L;
public ActionForward execute
(ActionMapping mapping
ActionForm form
HttpServletRequest request
HttpServletResponse response)
throws Exception {
// this line is here for when the
input page is upload
utf
jsp
// it sets the correct character
encoding for the response
String encoding = request
getCharacterEncoding();
if ((encoding != null) &&
(encoding
equalsIgnoreCase(
GB
)))
{
response
setContentType
(
text/html; charset=GB
);
} else {
response
setContentType
(
text/html; charset=GBK
);
}
try {
if (form instanceof LoginForm)
{
LoginForm theForm = (LoginForm) form;
if(theForm
getUsername()
equals(
user
) &&
theForm
getPassword()
equals(
))
{
return new ActionForward(
/welcome
do?type=true
);
}
else {
return new ActionForward(
/welcome
do?type=false
);
}
}
} catch (Exception e)
{
}
// this shouldn
t happen in this example
return null;
}
}
注意這裡是直接用ActionForward轉向的
你也可以按照struts中提供的空白例程struts
blank
war中的做法進行轉向
可以比較一下會有收獲的
創建登錄成功頁面
同創建index
jsp頁面相同
我們創建welcome
jsp頁面
均使用默認設置
並編輯其內容如下
<%@page pageEncoding=
GBK
contentType=
text/html;
charset=GBK
%>
<html>
<head>
<meta http
equiv=
Content
Type
content=
text/html;
charset=GBK
/>
<title></title>
</head>
<body>
<%
String type = request
getParameter(
type
);
if(type!=null&&type
equals(
true
)){
out
print(
歡迎您的光臨!
);
}
else{
out
print(
對不起
你輸入的用戶名或者密碼錯誤!
);
}
%>
</body>
</html>
增加Struts
config
xml中的配置
添加formbean的配置
在和標簽之間加入
<form
bean
name=
loginForm
type=
com
is
form
LoginForm
/>
添加jsp文件的映射
在和標簽之間加入
<action
path=
/index
forward=
/index
jsp
/>
<action
path=
/welcome
forward=
/welcome
jsp
/>
添加action文件的映射
在和標簽之間加入
path=
/logincheck
type=
com
is
action
LoginAction
name=
loginForm
scope=
request
validate=
true
/>
修改後的struts
config
xml大致如下形式
<?xml version=
?>
<!DOCTYPE struts
config PUBLIC
//Apache Software Foundation
//DTD Struts Configuration
//EN
/struts
config_
_
dtd
>
<struts
config>
<data
sources>
</data
sources>
<form
beans>
<form
bean
name=
loginForm
type=
com
is
form
LoginForm
/>
</form
beans>
<global
exceptions>
</global
exceptions>
<global
forwards>
</global
forwards>
<action
mappings>
<action
path=
/index
forward=
/index
jsp
/>
<action
path=
/welcome
forward=
/welcome
jsp
/>
<action
path=
/logincheck
type=
com
is
action
LoginAction
name=
loginForm
scope=
request
validate=
true
/>
</action
mappings>
<controller processorClass=
org
apache
struts
tiles
TilesRequestProcessor
/>
<message
resources parameter=
MessageResources
/>
<plug
in className=
org
apache
struts
tiles
TilesPlugin
>
<set
property property=
definitions
config
value=
/WEB
INF/tiles
defs
xml
/>
<set
property property=
moduleAware
value=
true
/>
</plug
in>
<plug
in className=
org
apache
struts
validator
ValidatorPlugIn
>
<set
property property=
pathnames
value=
/WEB
INF/validator
rules
xml
/WEB
INF/validation
xml
/>
</plug
in>
</struts
config>
到此我們可以運行測試程序了
運行測試程序
右鍵點擊testweb工程根目錄
點擊菜單中的Tomcate project
>update context definition
將工程部署進tomcat
成功後會提示操作成功
點擊菜單欄中的雄貓圖標啟動tomcat
然後在IE地址欄中輸入
我們會看到index
jsp的頁面內容
From:http://tw.wingwit.com/Article/program/Java/ky/201311/28811.html