锘??xml version="1.0" encoding="utf-8" standalone="yes"?>伊伊人成亚洲综合人网7777,亚洲综合色一区二区三区小说,久久精品国产精品亚洲下载http://m.tkk7.com/zhaijianhui/category/13672.html鐮旂┒java鎶鏈?/description>zh-cnFri, 02 Mar 2007 09:33:07 GMTFri, 02 Mar 2007 09:33:07 GMT60webwork浣跨敤spring ioc闆嗘垚http://m.tkk7.com/zhaijianhui/archive/2006/08/03/61441.html铚樿洓铚樿洓Wed, 02 Aug 2006 23:29:00 GMThttp://m.tkk7.com/zhaijianhui/archive/2006/08/03/61441.htmlhttp://m.tkk7.com/zhaijianhui/comments/61441.htmlhttp://m.tkk7.com/zhaijianhui/archive/2006/08/03/61441.html#Feedback2http://m.tkk7.com/zhaijianhui/comments/commentRss/61441.htmlhttp://m.tkk7.com/zhaijianhui/services/trackbacks/61441.html 鍦╓ebWork 2.2.x 涔嬪悗,瀹冨皢鐩存帴鍐呭緩鏀寔spring ioc浜?鎵浠ユ洿鍔犵畝鍗曚簡,,
鍋氫釜渚嬪瓙
絎竴姝?鍦╳eb-inf涓嬪緩涓涓獁ebwork.properties鏂囦歡,
鍐呭涓?br />webwork.objectFactory = spring
絎簩姝?涔熷氨鏄姞杞絘pplicationContext.xml,鍙互閲囧彇鍓嶉潰鍓嶇殑涓ょ涔嬩竴,,榪欓噷閲囩敤鍚庨潰閭g
<listener>
聽聽<listener-class>
聽聽聽org.springframework.web.context.ContextLoaderListener
聽聽</listener-class>
聽</listener>
絎笁姝?鍒涘緩瑕佽杞界殑瀹炰緥,鍦╝pplicationContext.xml(閲囩敤鐩戝惉鐨勬柟寮?璁頒綇榛樿鐨勪綅緗槸鍦╳eb-inf涓嬮潰)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "

<beans default-autowire="autodetect"> <!--璁版敞涓瀹氳鍔犱笂-->
聽 <bean id="userManager" singleton="true" class="helloWorld.UserManager"/>
</beans>
絎洓姝?鍦ㄤ慨鏀規垜鍘熸潵鐨勪緥瀛?br />HelloWorldAction.java
涓?br />package helloWorld;
import com.opensymphony.xwork.ActionSupport;
public class HelloWorldAction extends ActionSupport{

聽聽聽 String greeting;
聽聽聽 UserManager userManager;
聽聽聽 public void setGreeting(String greeting) {
聽聽聽聽聽聽聽 this.greeting = greeting;
聽聽聽 }

聽聽聽 public String getGreeting() {
聽聽聽聽聽聽聽 return greeting;
聽聽聽 }
聽聽聽 public UserManager getUserManager() {
聽聽return userManager;
聽}

聽public void setUserManager(UserManager userManager) {
聽聽this.userManager = userManager;
聽}

聽public String execute() throws Exception {
聽聽userManager.sayHello();
聽聽System.out.println("after userManager.sayHello()");
聽聽聽聽聽聽聽 if (greeting.equals("") || greeting == null) {
聽聽聽聽聽聽聽聽聽聽聽 addFieldError("greeting", getText("greeting"));
聽聽聽聽聽聽聽聽聽聽聽 return ERROR;
聽聽聽聽聽聽聽 }
聽聽聽聽聽聽聽 return SUCCESS;
聽聽聽 }
}
鑰孶serManager.java綾誨涓?br />package helloWorld;
public class UserManager {
聽public UserManager()
聽{
聽 System.out.println("create instance of UserManger");
聽}
聽public void sayHello()
聽{
聽 System.out.println("hello zjh");
聽}
}
鍐嶈闂?a href="http://localhost:8080/WebWork/index.jsp">http://localhost:8080/WebWork/index.jsp
鎻愪氦鍚庡湪tomcat console紿楀彛鎵撳嵃鍑?br />hello zjh
after userManager.sayHello()



铚樿洓 2006-08-03 07:29 鍙戣〃璇勮
]]>
webwork 瀛︿範浜?validation楠岃瘉妗嗘灦)http://m.tkk7.com/zhaijianhui/archive/2006/08/02/61406.html铚樿洓铚樿洓Wed, 02 Aug 2006 14:10:00 GMThttp://m.tkk7.com/zhaijianhui/archive/2006/08/02/61406.htmlhttp://m.tkk7.com/zhaijianhui/comments/61406.htmlhttp://m.tkk7.com/zhaijianhui/archive/2006/08/02/61406.html#Feedback0http://m.tkk7.com/zhaijianhui/comments/commentRss/61406.htmlhttp://m.tkk7.com/zhaijianhui/services/trackbacks/61406.html鐪嬩竴涓緥瀛?
SimpleAction-validation.xml 鍚嶅瓧鍓嶇紑瑕佷笌綾誨悕鐩稿悓錛岃屼笖涓庝箣鍦ㄥ悓涓鐩綍涓?/b>
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0//EN" "<validators>
聽聽聽 <field name="count">
聽聽聽聽聽聽聽 <field-validator type="required">
聽聽聽聽聽聽聽聽聽聽聽 <message>You must enter a value for count.</message>
聽聽聽聽聽聽聽 </field-validator>
聽聽聽聽聽聽聽 <field-validator type="int">
聽聽聽聽聽聽聽聽聽聽聽 <param name="min">0</param>
聽聽聽聽聽聽聽聽聽聽聽 <param name="max">5</param>
聽聽聽聽聽聽聽聽聽聽聽 <message>
聽聽聽聽count must be between ${min} and ${max}, current value is ${count}.
聽聽聽聽 </message>
聽聽聽聽聽聽聽 </field-validator>
聽聽聽 </field>
</validators>
==
package helloWorld;
import com.opensymphony.xwork.ActionSupport;
import com.opensymphony.xwork.ValidationAware;
聽聽聽 public String doExecute() throws Exception {
聽聽聽return SUCCESS;
聽聽聽 }
}
------
鍦▁work.xml閲岄潰娣誨姞
<interceptors>
聽<interceptor name="validator" class="com.opensymphony.xwork.validator.ValidationInterceptor"/>
聽</interceptors>
<action name="validation" class="helloWorld.SimpleAction">
聽聽聽<result name="success" type="dispatcher">
聽聽聽聽<param name="location">/simple_result.jsp</param>
聽聽聽</result>
聽聽聽<result name="error" type="dispatcher">
聽聽聽聽<param name="location">/simple.jsp</param>
聽聽聽</result>
聽聽聽<!-- If you don't override execute(), you must do this: -->
聽聽聽<result name="input" type="dispatcher">
聽聽聽聽<param name="location">/simple.jsp</param>
聽聽聽</result>
聽聽聽<interceptor-ref name="validator" />
聽聽聽<interceptor-ref name="debugStack" />
聽聽聽<interceptor-ref name="defaultStack" />
聽聽聽
聽聽</action>
娉ㄦ剰interceptor涓哄涓椂涓巗ervlet閲岄潰鐨刦ilter涓鏍鋒寜欏哄簭渚濇浼犻?鍋囪嫢澶辮觸灝變負褰卞搷鍚庨潰鐨勭▼搴忚繍琛屾晥鏋?
榪樻湁涓や釜jsp欏甸潰
simple_result.jsp
<%@ taglib prefix="ww" uri="webwork"%>
<html>
聽<head>
聽聽<title>WebWork Validation Example</title>
聽</head>
聽<body>
聽聽<p>
聽聽聽The count is
聽聽聽<ww:property value="count" />
聽聽</p>
聽聽</form>
聽</body>
</html>
--
simple.jsp
<%@ taglib prefix="ui" uri="webwork" %>
<html>
<head>
聽聽聽 <title>WebWork Validation Example</title>
</head>
<body>
<form action="validation.action" method="post">
<table>
聽聽聽聽 <ui:textfield label="Set the counter" name="count"/>
聽聽聽 <ui:submit value="'Submit'"/>
</table>
</form>
</body>
</html>
榪愯鏁堟灉濡備笅
count must be between 0 and 5, current value is 8.

涓嬮潰涓烘棩鏈熺被鍨嬬殑楠岃瘉
<field-validator type="date">
<param name="min">12/22/2002</param>
<param name="max">12/25/2002</param>
<message>The date must be between 12-22-2002 and 12-25-2002.</message>
</field-validator>
</field>
<field name="foo">
<field-validator type="int">
<param name="min">0</param>
<param name="max">100</param>
<message key="foo.range">Could not find foo.range!</message>
</field-validator>
</field>
</validators>



铚樿洓 2006-08-02 22:10 鍙戣〃璇勮
]]>
webwork瀛︿範涓http://m.tkk7.com/zhaijianhui/archive/2006/08/02/61377.html铚樿洓铚樿洓Wed, 02 Aug 2006 11:02:00 GMThttp://m.tkk7.com/zhaijianhui/archive/2006/08/02/61377.htmlhttp://m.tkk7.com/zhaijianhui/comments/61377.htmlhttp://m.tkk7.com/zhaijianhui/archive/2006/08/02/61377.html#Feedback0http://m.tkk7.com/zhaijianhui/comments/commentRss/61377.htmlhttp://m.tkk7.com/zhaijianhui/services/trackbacks/61377.html 鏈湴涓枃鍖栫綉鍧

http://wiki.javascud.org/display/ww2cndoc/Home

鍦ㄧ嚎鏂囨。

http://www.opensymphony.com/webwork/wikidocs

涓?/span> struts 鐨勫尯鍒湁瀹炵幇鍥界駭鍖栫殑鏃跺欙紝 struts 鐨?/span> message 鍙兘鍑虹幇 5 涓姩鎬佺殑鍊?/span>

涔熷氨鍍忎笅闈㈢殑淇℃伅

Your {0} ticket(s) for flight {1} have been booked.

The total cost is {2}. Your confirmation number is {3}.

Your flight leaves at {4} and arrives at {5}

闇瑕佸垎鎴愪袱孌墊墠鑳藉畬鎴?/font>

<bean:message key="confirmation.msg1"

arg0="count" arg1="flightNumber" arg2="cost"/>

<bean:message key="confirmation.msg2"

arg0="confirmation" arg1="departure" arg2="arrival"/>

鑰?/span> webwork 鏄棤闄愬埗鐨勶紝鍍忎笂闈㈢殑鍙互鍐欐垚榪欐牱瀛?/span>

<ww:text name="confirmation.msg">

<ww:param value="count"/>

<ww:param value="flightNumber"/>

<ww:param value="cost"/>

<ww:param value="confirmation"/>

<ww:param value="departure"/>

<ww:param value="arrival"/>

</ww:text>

榪樻湁鍦╳eb.xml閲屽悓鎸囧畾webwork鐨則ld鎵鍦ㄤ綅緗?br />

<taglib>

<taglib-uri>webwork</taglib-uri>

<taglib-location>
/WEB-INF/lib/webwork-2.1.7.jar

</taglib-location>

</taglib>
鍦ㄥ緢澶氫功涓婇兘璁蹭笂闈㈠彲琛岋紝鍙槸鎴戝嵈鎶ヤ笅闈㈢殑閿欙紟錛庯紟鎹㈡垚涓嬮潰閭g鏂瑰紡灝眔k浜?br />

org.apache.jasper.JasperException: Unable to initialize TldLocationsCache: null
涔熷彲浠ユ寚瀹歸ebwork.tld鎵鍦ㄧ殑浣嶇疆涔熷彲浠ワ紝錛屽
/WEB-INF/webwork.tld(webwork.tld鎷峰埌榪欎笅闈㈡潵).

涓涓畝鍗曠殑渚嬪瓙
import com.opensymphony.xwork.Action;
public class HelloWorldAction implements Action{
聽聽聽 String greeting;
聽聽聽 public String getGreeting() {
聽聽聽聽聽聽聽 return greeting;
聽聽聽 }
聽聽聽 public String execute() throws Exception {
聽聽聽聽聽聽聽 greeting = "Hello World!";
聽聽聽聽聽聽聽 return SUCCESS;
聽聽聽 }
}
瀹炵幇鐨刟ction鎺ュ彛閲岄潰鍙湁涓涓柟娉?br />聽
interface Action {
String execute() throws Exception;
}
greetings.jsp
<%@ taglib prefix="ww" uri="webwork" %>
<html>
<head>
聽聽聽 <title>First WebWork Example</title>
</head>
<body>
<p><ww:property value="greeting"/></p>
</body>
</html>
xwork.xml 鏀懼埌灝辯敤鐨刢lasspath涓嬮潰(涔熷氨web-inf/classes涓嬮潰)
<action name="hello" class="HelloWorldAction">
<result name="success" type="dispatcher">
<param name="location">/greetings.jsp</param>
</result>
<interceptor-ref name="debugStack"/>
<interceptor-ref name="defaultStack"/>
</action>
榪樻湁鍦╳eb.xml閲岄潰鍔犱笂webwork鐨勪竴涓姞杞界被
<servlet>
聽聽聽聽聽聽聽 <servlet-name>action</servlet-name>
聽聽聽聽聽聽聽 <servlet-class>com.opensymphony.webwork.dispatcher.ServletDispatcher</servlet-class>
聽聽聽 </servlet>
聽聽聽 <servlet-mapping>
聽聽聽聽聽聽聽 <servlet-name>action</servlet-name>
聽聽聽聽聽聽聽 <url-pattern>*.action</url-pattern>
聽聽聽 </servlet-mapping>
ActionSupport
1:鎻愪緵瀵歸敊璇俊鎭殑鏀寔
鈥?/strong> action and field specific errors
鈥?/strong> field errors are automatically supported by views
鈥?/strong> 2:鍥介檯鍖栫殑鏀寔
鈥?/strong> 1 resource bundle per action
鈥?/strong> pervasive UI support for retrieving messages
聽--------------------------------------------------------------------------------
ActionSupport Example:
import com.opensymphony.xwork.ActionSupport;
public class HelloWorldAction extends ActionSupport{
聽聽聽 String greeting;
聽聽聽 public void setGreeting(String greeting) {
聽聽聽聽聽聽聽 this.greeting = greeting;
聽聽聽 }
聽聽聽 public String getGreeting() {
聽聽聽聽聽聽聽 return greeting;
聽聽聽 }
聽聽聽 public String execute() throws Exception {
聽聽聽聽聽聽聽 if (greeting.equals("") || greeting == null) {
聽聽聽聽聽聽聽聽聽聽聽 addFieldError("greeting", getText("greeting"));
聽聽聽聽聽聽聽聽聽聽聽 return ERROR;
聽聽聽聽聽聽聽 }
聽聽聽聽聽聽聽 return SUCCESS;
聽聽聽 }
}
榪欓噷鐨刧etText("greeting")鐨刧reeting瑕佷笌HelloWorldAction.properties(鏀懼湪涓嶩elloWorldAction.class鍚岀駭鐩綍涓嬮潰錛屽悕縐頒篃涓鏍?閲岀殑greeting=Enter your greeting please鐩稿悓
涓婇潰鐨剆et.get鍏跺疄涓巗truts褰撲腑鐨凙ctionFrom綾諱技錛庯紟
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%@ taglib prefix="ui" uri="webwork" %>
<html>
<head>
聽聽聽 <title>First WebWork Example</title>
</head>
<body>
<form action="hello.action" method="post">
<table>
聽聽聽 <ui:textfield label="嬈㈣繋璇彞" name="greeting"/>
聽聽聽 <ui:submit value="'Submit'"/>
</table>
</form>
</body>
</html>
榪欓噷鐨刧reeting瑕佷笌HelloWorldActio.java閲岀殑灞炴т竴鑷?br />濡傚嚭鐜伴敊璇細鏄劇ず鍦ㄥ綋鍓嶉〉錛?br />
Enter your greeting please

濡傚~涓婂唴瀹癸紝灝變細鐩稿簲鐨勮皟鐢╯etGreeting()鏂規硶鐨勶紟錛?br /><%@ taglib prefix="ww" uri="webwork" %>
<html>
<head>
聽聽聽 <title>First WebWork Example</title>
</head>
<body>
<p><ww:property value="greeting"/></p>
</body>
</html>
鎶婂~鐨勫唴瀹規樉紺哄嚭鏉?br />鍦▁work.xml閲岀殑<action>
涔熺浉搴旂殑鍙樻垚
<action name="hello" class="helloWorld.HelloWorldAction">
聽聽聽<result name="success" type="dispatcher">
聽聽聽聽<param name="location">/greetings.jsp</param>
聽聽聽</result>
聽聽聽<result name="error" type="dispatcher">
聽聽聽聽聽聽聽聽聽 <param name="location">/index.jsp</param>
聽聽聽聽聽聽聽聽聽聽聽 </result>
聽聽</action>
------------------------------------------------------------
Model-Driven Actions vs. Field-Driven Actions
鈥?/span>
2 types of Actions possible:
(1)Field-Drivern涓婇潰鐨勪緥瀛愬氨鏄?br />(2)ModelDriven
package helloWorld;
public class Pet {
聽聽聽 private long id;
聽private String name;
聽聽聽 public long getId() {
聽聽聽聽聽聽聽 return id;
聽聽聽 }
聽聽聽 public void setId(long id) {
聽聽聽聽聽聽聽 this.id = id;
聽聽聽 }
聽聽聽 public String getName() {
聽聽聽聽聽聽聽 return name;
聽聽聽 }
聽聽聽 public void setName(String name) {
聽聽聽聽聽聽聽 this.name = name;
聽聽聽 }
}
--
package helloWorld;
import com.opensymphony.xwork.*;
public class AddPetAction extends ActionSupport implements ModelDriven{
聽Pet pet = new Pet();
聽聽聽 public Object getModel() {
聽聽聽聽聽聽聽 return pet;
聽聽聽 }
聽聽聽 protected void doValidation() {
聽聽聽聽聽聽聽 if (pet.getId() == 0) {
聽聽聽聽聽聽聽聽聽聽聽 addFieldError("id", "Please enter in an id number for you new Pet.");
聽聽聽聽聽聽聽 }
聽聽聽 }
聽聽聽 public String doExecute() throws Exception {
聽聽聽聽聽聽聽 if (hasErrors())
聽聽聽聽聽聽聽聽聽聽聽 return ERROR;
聽聽聽聽聽聽聽 return SUCCESS;
聽聽聽 }

}
闇瀹炵幇ModelDriven榪欎釜鎺ュ彛錛屽畠涔熷彧鏈変竴涓柟娉?br />public Object getModel();
聽鍦▁work.xml鍔犱笂
<action name="addpet" class="helloWorld.AddPetAction">
聽聽聽<result name="success" type="dispatcher">
聽聽聽聽<param name="location">/petadded.jsp</param>
聽聽聽</result>
聽聽聽<result name="error" type="dispatcher">
聽聽聽聽<param name="location">/addpet.jsp</param>
聽聽聽</result>
聽聽聽<interceptor-ref name="debugStack" />
聽聽聽<interceptor-ref name="defaultStack" />
聽聽</action>
榪樻湁涓や釜欏甸潰鍒嗗埆鐢ㄦ潵娣誨姞鍜屾樉紺虹敤鐨?br /><%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="ui" uri="webwork" %>
<html>
<head>
聽聽聽 <title>First WebWork Example</title>
</head>
<body>
<form action="addpet.action" method="post">
<table>
聽聽聽 <ui:textfield label="Pet ID Number" name="id"/>
聽聽聽 <ui:textfield label="Name of Pet" name="name"/>
聽聽聽 <ui:submit value="'Submit'"/>
</table>
</form>
</body>
</html>
-------petadded.jsp
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="ww" uri="webwork" %>
<html>
<head>
聽聽聽 <title>First WebWork Example</title>
</head>
<body>
<p>Added a pet with the following properties:</p>
<ul>
聽聽聽 <li>ID: <ww:property value="id"/></li>
聽聽聽 <li>Name: <ww:property value="name"/></li>
</ul>
</form>
</body>
</html>


铚樿洓 2006-08-02 19:02 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 国产资源免费观看| 在线免费观看色片| 国产亚洲精品a在线观看| 激情小说亚洲图片| 国产男女性潮高清免费网站| 亚洲国产精品无码久久久秋霞1 | 亚洲成_人网站图片| 国产一卡二卡3卡四卡免费| 久久精品国产亚洲AV久| 成人免费无遮挡无码黄漫视频| 亚洲午夜在线播放| 日韩高清在线免费看| 男男gay做爽爽的视频免费| 亚洲视频一区二区| 花蝴蝶免费视频在线观看高清版| 亚洲欧洲日产国码无码网站| 欧洲人成在线免费| 亚洲AV成人噜噜无码网站| 成人午夜大片免费7777| 美女视频黄频a免费观看| 久久亚洲中文字幕精品一区四| a级男女仿爱免费视频| 亚洲黄色免费网站| 99久久免费精品国产72精品九九 | 伊人亚洲综合青草青草久热| 日韩精品在线免费观看| 亚洲av专区无码观看精品天堂| 国产精品无码免费视频二三区| 一级毛片无遮挡免费全部| 亚洲精品高清视频| 成年美女黄网站色大免费视频| 黑人粗长大战亚洲女2021国产精品成人免费视频 | 日韩精品免费视频| 亚洲精品第一国产综合亚AV| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 91香焦国产线观看看免费| 亚洲精品人成网线在线播放va| 久久久久久A亚洲欧洲AV冫| 四虎在线最新永久免费| 一级特黄色毛片免费看| 亚洲精品视频在线免费|