锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
web.xml銆乻truts-config.xml銆?br />3銆亀eb.xml
聽 浠ヤ緥瀛愬姞娉ㄩ噴瑙f瀽鍚э細
<?xml version="1.0" encoding="UTF-8"?><!--聽鍥哄畾鏍煎紡 -->
<!DOCTYPE web-app
聽 <!-- Standard Action Servlet Mapping聽 servlet綾繪槧灝勫埌瀵瑰簲鐨刄RL--> 聽 聽 <!-- Struts Tag Library Descriptors Struts鑷甫鐨勬爣絳懼簱--> 聽 <taglib> 聽 <taglib>
聽 PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
聽 "
<!--聽WEB搴旂敤閰嶇疆 -->
<web-app>
聽 <display-name>HelloApp Struts Application</display-name>
聽
聽 <!-- Standard Action Servlet Configuration聽 -->
聽 <servlet>
聽聽聽聽<--聽struts action綾葷殑servlet閰嶇疆聽-->
聽聽聽 <servlet-name>action</servlet-name>
聽聽聽 <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
聽聽聽
聽聽聽 <!--聽閰嶇疆Action綾葷殑鍒濆鍖栧弬鏁板悕涓篶onfig錛屽間負 /WEB-INF/struts-config.xml-->
聽聽聽 <init-param>
聽聽聽聽聽 <param-name>config</param-name>
聽聽聽聽聽 <param-value>/WEB-INF/struts-config.xml</param-value>
聽聽聽 </init-param>
聽聽聽聽 <load-on-startup>2</load-on-startup>
聽 </servlet>
聽 <servlet-mapping>
聽聽聽 <servlet-name>action</servlet-name>
聽聽聽 <url-pattern>*.do</url-pattern>
聽 </servlet-mapping>
聽聽聽
聽<!-- The Usual Welcome File List 搴旂敤鐨勯粯璁ゆ樉紺洪〉闈?->
聽 <welcome-file-list>
聽聽聽 <welcome-file>hello.jsp</welcome-file>
聽 </welcome-file-list>
聽 <!--聽榪樻湁struts-nested.tld鍜宻truts-tiles.tld -->
聽 <taglib>
聽聽聽 <taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>
聽聽聽 <taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
聽 </taglib>
聽聽聽 <taglib-uri>/WEB-INF/struts-html.tld</taglib-uri>
聽聽聽 <taglib-location>/WEB-INF/struts-html.tld</taglib-location>
聽 </taglib>
聽聽聽 <taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri>
聽聽聽 <taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
聽 </taglib>
</web-app>
4銆乻ervlet-config.xml
聽聽聽聽 鐢╯truts鏉ュ啓bean鍜宎ction綾誨搴斿叧緋婚兘鍦╯ervlet-config.xml閰嶇疆
聽聽聽聽 涓嬮潰浠ラ厤緗枃浠跺姞娉ㄩ噴鍔犱互璇存槑錛?br />
<!--聽閰嶇疆鏂囦歡鍥哄畾鏍煎紡 -->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "
<!--聽struts閰嶇疆鏍囩 -->
<struts-config>
聽聽<!--聽bean鐨勯厤緗紝鎸囧畾bean鍚嶅瓧涓篽ello2Form錛宼ype瀵瑰簲鐨勬槸bean綾?-->
聽 <form-beans>
聽聽聽聽聽 <form-bean name="hello2Form" type="hello2.Hello2Form" />
聽 </form-beans>
聽聽<!--聽action-mapping閰嶇疆錛?鍙互鏈夊涓猘ction鏍囩-->
聽 <action-mappings>
聽聽聽聽<!--
聽聽聽聽聽聽聽 input----action瀵瑰簲鐨勮姹傞〉闈?br />聽聽聽聽聽聽聽 name----鍜宐ean鏍囩鐨刵ame瀵瑰簲錛屾槸榪欎釜action瀵瑰簲鐨勫摢涓涓猙ean
聽聽聽聽聽聽聽 path ----action綾誨搴旂殑URL錛屾槸璇鋒眰欏甸潰璺緞錛屼嬌鐢ㄦ椂浠ath.do鐨勫艦寮忋?br />聽聽聽聽聽聽聽 score----璇鋒眰鑼冨洿錛屾湁涓ょ錛歳equest錛宻ession
聽聽聽聽聽聽聽 type ----鎸囧畾瀵瑰簲鐨刟ction綾?br />聽聽聽聽聽聽聽 validate----鎸囧畾鏄惁閫氳繃FormBean楠岃瘉銆?br />聽聽聽 -->
聽聽聽 <action input="/Hello2.jsp" name="hello2Form" path="/hello2" scope="request"聽 type="hello2.Hello2Action" validate="true">
聽聽聽聽聽聽聽<--聽聽聽聽聽聽聽聽聽聽聽
聽聽聽聽聽聽聽聽聽聽聽 name----杞彂璇鋒眰鍚?br />聽聽聽聽聽聽聽聽聽聽聽 path聽 ----鐢ㄤ簬鎸囧畾璇鋒眰杞彂鐨剈rl
聽聽聽聽聽聽聽聽-->
聽聽聽聽聽聽聽聽<forward name="hello2" path="/Hello2.jsp" />
聽聽聽 </action>
聽聽聽 <!--
聽聽聽聽聽聽聽 姝ction鍙互涓嶉歜ean鍜宎ction鍏寵仈錛屽彲浠ュ湪褰撳墠搴旂敤涓嬮氳繃
聽聽聽聽聽聽聽 http://IP:port/applicationpath/hello.do,灝卞彲浠ヨ漿鍙戝埌logon.jsp欏甸潰銆?br />聽聽聽聽聽聽聽 path----鍜屽墠涓涓猘ction鐨刾ath涓鏍鳳紝浣跨敤鏂瑰紡path.do
聽聽聽聽聽聽聽 forward----璇鋒眰path.do瀵瑰簲鐨勯〉闈?br />聽聽聽 -->
聽聽聽 <action path="/hello" forward="/logon.jsp" />
聽 </action-mappings>
聽 <!--聽鎸囧畾閰嶇疆鏂囦歡Resources鐨勪綅緗?-->
聽 <message-resources parameter="hello2.Resources" />
聽聽
聽 <!--聽鐢ㄤ簬bean鐨勯獙璇?-->
聽 <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>
<html>
<head>
<title>javascript validate sample</title>
<script language="javascript" src="common.js"></script>
<!--
涓嬮潰鏄竴孌礿avascript浠g爜錛屽畾涔変竴涓嚱鏁癷nputCheck()錛屽疄鐜板疄鐜癴orm琛ㄥ崟鐢ㄦ埛鍚峔瀵嗙爜鐨勯獙璇?BR>-->
<script language="javascript">
<!--
function inputCheck()
{
var eleValue = document.form1.userName.value;
if(eleValue == "")
{
alert("please input your username!");
document.form1.userName.focus();
return false;
}
eleValue = document.form1.password.value;
if(eleValue == "")
{
alert("please input your password!");
document.form1.password.focus();
return false;
}
eleValue = document.form1.age.value;
if(!isNumber(eleValue))
{
alert("age requires number only!");
document.form1.age.focus();
return false;
}
eleValue = document.form1.introduction.value;
if(eleValue.length > 2)
{
alert("max length execeeded!");
document.form1.introduction.select();
return false;
}
return true;
}
-->
</script>
</head>
<body>
<!-- 鏄竴涓畝鍗曠殑form琛ㄥ崟錛岄氳繃璋冪敤javascript function瀹炵幇楠岃瘉 -->
<form name="form1" method="post" action="">
<table border="1" align="center">
<tr>
<td>UserName<font color="red">*</font></td>
<td><input type="text" name="userName" value="" maxlength="15" size="10"></td></td>
</tr>
<tr>
<td>Password<font color="red">*</font></</td>
<td><input type="password" name="password" value="" maxlength="15" size="10"></td>
</tr>
<tr>
<td colspan="4" align="center">
<input type="submit" value=" ok " onclick="return inputCheck()">
<input type="reset" value=" clear ">
</td>
</tr>
</table>
</form>
<body>
include
鐨勪吉鎸囦護鑰屽凡銆?jsp:include
鐨勪紭鐐瑰湪浜庯細瀹?I>鎬繪槸浼氭鏌ユ墍鍚枃浠朵腑鐨勫彉鍖栥傝宩sp include鍒欎笉浼? 鍙互璁や負鏄潤鎬佸寘鍚備笅闈㈡槸涓ゅ垯鍖哄埆鐨勪唬鐮侊細jsp:include
鏍囪