braint8  
日历
<2025年7月>
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789
统计
  • 随笔 - 0
  • 文章 - 15
  • 评论 - 16
  • 引用 - 0

导航

留言簿(2)

文章分类(15)

文章档案(15)

搜索

  •  

积分与排名

  • 积分 - 17454
  • 排名 - 1882

最新评论

 

1 .根据示例来模仿运行

①可解压 struts2-blank-2.1.8.war , struts2-blank-2.1.8\WEB-INF\classes\ 目录下的 struts.xml 文件至自己工程 src 目录下

②复制 struts2-blank-2.1.8\WEB-INF\lib\ 目录下包至工程 lib

③配置 web.xml 文件,主要是 filter 的配置

 

2 Struts.xml 里的 namaspace=”/” 这里就是地址访问路径

 <action name=”hello”> 可以当成路径 /hello.action 访问, action 可以省略,与 struts1 .do 一样

 

3 Struts2 可以配置修改配置不用重启 <constant name="struts.devMode" value="true" />

对于 strtus2 属性的设置即 <constant name=”” value=””/> name 位置位于

Struts2-core-2.1.8.jar\org.apache.struts2\static\default.properties 文件下

执行过程:

       如地址: http://localhost:8888/Struts2_01/hello11 提交 tomcat 后,获取工程名对应发布的工程 Struts2_01 ,然后寻找对应工程的 web.xml 文件,寻找对应的 namespace( 为该工程后的路径,如 namespace=”/test” 则地址为 http://localhost:8888/Struts2_01/test/hello11),然后再根据hello11 寻找对应的 action, 找到后,通过 result 返回配置的 jsp

 

4 Struts.xml 文件的标签提示问题

       Window-preferences- 搜索 catalog—add

Location:

Key Type:URI

Key: http://struts.apache.org/dtds/struts-2.0.dtd

最好修改 myeclipse 的快捷键设置 ,window-preferences-General-keys,Context Assist 设置为 alt+/

 

5 Result 里的 name 配置了 action 里调用方法后的返回 string 所匹配的字符串,根据这个匹配的字符串查找配置里的跳转的页面;默认不配置则为 success

 

6 Action 接收参数方式

Action 类里写属性 , 并有 set,get 方法 , 地址传递参数会自动赋值

地址: http://localhost:8080/user!add?name=a&age=8   ----- 成员 String name; int age;

调用 user.action 里的 add 方法 , 且通过参数 name ,获取值后调用 setName(); 提交 action 时自动赋值

action 可以接收模型对象 ,set,get 方法

地址: http://localhost:8080/user!add?user.name=a&user.age=8

Action 里拥有成员 User user; User 类里拥有成员变量 name,age

自动把参数上的 user.name user.age 值赋给 user

请求地址传输参数的赋值都交给模型来处理.

 

7 .简单数据验证

String name;

Action 验证后,对于 name 验证不通过,使用 this.addFieldError(“name”,” 错误提示信息! ”);

Jsp 页面则使用

<s:fielderror fieldname=”name”/> 固定样式,添加了 ul,li

<s:property  value=”errors.name[0]”/> 常用 ;

原理:错误信息存放在 errors ;

errors 为字符串 map ,形式如: errors={name=[ 错误提示信息! ]}, map 里的 value name 其实是个字符串数组或集合 [,,,];

流程: jsp 页面调用 action action 处理逻辑, return 后, action 里的所有成员变量都已经存在 value stack 里,就跟 struts1 里的 form 类似已经存在 request 中,可以直接在页面上取值 , 只不过 struts2 里存在 value stack 里;通过 return 的字符串找到相应的 result name 值跳转到对应的 jsp 页面 ,jsp 页面可以通过类似 EL 表达式取值,也可以通过 <s:property> 取值。

posted on 2009-11-15 20:08 情晚风 阅读(208) 评论(0)  编辑  收藏 所属分类: 初学Struts2

只有注册用户登录后才能发表评论。


网站导航:
 
 
Copyright © 情晚风 Powered by: 博客园 模板提供:沪江博客