1.注意
*配置struts时 添加<constant name="struts.devMode" value ="true"/>//开发模式 可以时修改很快体现在服务器中。
*struts 源码 Struts22.1.6/soft/struts-2.1.6/src/core/src/main/java//在jar文件上(导入的包struts2-core-2.1.6上点properties java source attachement)
*struts doc文档 配置还是jar properties javac location Struts22.1.6/soft/struts-2.1.6/docs
*凡是name="success" 的result 都可以不写 名字 可以写成<result>XX</result>
*copy的项目 需要改myeclipse - web -web Context-root 名字。
*给jsp写绝对路径 MyEclipse会自动生成一个 在最上面 basePath 所以例如超链接可写成:
<a href="<%=basePath %>index.jsp">index.jsp</a> //返回首页
或者 在<head>标签中存在< base href =<%= basePath%>时 可写成<a href ="index.jsp">index.jsp</a>
*context (上下文) 指环境。所以 actioncontext指action运行的环境 servletcontext 指servlet运行的环境。
2.动态方法调用(DMI)
在strut里配置时action name不写具体调用方法,后面不写method。调用时加 name!需要调用的方法名。
3.通配符配置:
//访问时就是项目名/aa/xa
<package name="XX" extend="struts-default" namespace="/aa">
<action name ="XX*" class="Xa" method="{1}">
<result>/XX{1}_xx.jsp</result>
</package>
4.Action
1.实现一个Action的最常用方式:从ActionSupport继承
2.接收参数的方式(一般用属性或DomainModel来接收)
3.简单参数验证addFieldError//一般不用Struts2的UI标签
4.*访问Web元素
a。Map类型
i: IoC
ii: 依赖Struts2
b。原始类型
i: IoC
ii: 依赖Struts2
5.package 的 Global_Results 可以写一个同package都可以用的result
<global_result>
<result name="mainpage">/main.jsp</result>
</global_result>
6.<result type="redirect">XX.jsp</result> 属性为redirect 为客户端跳转.
7.Result
a>常用的四种类型
dispatcher 默认
redirect //从客户端跳转到Action
chain //服务器端跳转到Action
redirectAction
b>全局结果集
global-result|extends
c>动态结果(了解) J2EEstruts2 - 32
在action中保存一个属性,存储具体的结果location
d>传递参数 马士兵 J2EEstruts2 - 32
客户端跳转才需要传递
${ }表达式不是(EL)
8.OGNL ( Object Graph Navigation Language 对象图导航语言)
在OGNL里 大括号代表一个集合“{ XX }”
在OGNL 中 有时需要用到转义字符“\”
9.Struts-Tags 马士兵J2ee Struts44
a)property 标签 //value值默认为字符串
设置默认值<s:property value="一个不存在的变量" defaut="想设置的默认值"/>
<s:property value="一个html标签" escape="true"/> //escape默认为false 当设置为true表明不要把value的值解析为字符串
b)set 标签
格式:<s:set var="定义的一个变量" value="定义的变量的值"/>//value的属性是一个String
使用#取值
//id && name 属性已经被废弃
c)bean 标签 //定义一个bean 并用param来设定新的属性值
<s:bean name="一个对象地址(类)" var="XX" > //根据类 new 了一个对象 并命名为XX 使用var后属性会存在action context中 当</s:bean> 后也可以使用
<s:param name="name" value="'XXString'"><s:param/> //第二个name指上面的var 注意 value 会把设置的值当作一个OGNL对象 所以要加‘’!
</s:bean>
d)include 标签 因为中文的原因少用 // % 将原本的文本属性解析为ognl,对于本就是ognl的属性不起作用
e)iterator
格式:
<s:iterator value=""> //value 放集合 当存放的是map时 key和value之间用“:”隔开
<s:property value=""/> //value 放遍历条件
</s:iterator>
使用status //状态
遍历过的元素总数:<s:iterator value="#status.count"/>
遍历过的元素缩影:<s:iterator value="#status.index"/>
当前是偶数?:<s:iterator value="#status.even"/>
当前是奇数?:<s:iterator value="#status.odd"/>
是第一个元素吗?:<s:iterator value="#status.first"/>
是最后一个元素吗?:<s:iterator value="#status.last"/>
f)使用ui标签 马士兵 J2EE struts2 52 讲了如何修改 覆盖fielderror 25min左右
*配置struts时 添加<constant name="struts.devMode" value ="true"/>//开发模式 可以时修改很快体现在服务器中。
*struts 源码 Struts22.1.6/soft/struts-2.1.6/src/core/src/main/java//在jar文件上(导入的包struts2-core-2.1.6上点properties java source attachement)
*struts doc文档 配置还是jar properties javac location Struts22.1.6/soft/struts-2.1.6/docs
*凡是name="success" 的result 都可以不写 名字 可以写成<result>XX</result>
*copy的项目 需要改myeclipse - web -web Context-root 名字。
*给jsp写绝对路径 MyEclipse会自动生成一个 在最上面 basePath 所以例如超链接可写成:
<a href="<%=basePath %>index.jsp">index.jsp</a> //返回首页
或者 在<head>标签中存在< base href =<%= basePath%>时 可写成<a href ="index.jsp">index.jsp</a>
*context (上下文) 指环境。所以 actioncontext指action运行的环境 servletcontext 指servlet运行的环境。
2.动态方法调用(DMI)
在strut里配置时action name不写具体调用方法,后面不写method。调用时加 name!需要调用的方法名。
3.通配符配置:
//访问时就是项目名/aa/xa
<package name="XX" extend="struts-default" namespace="/aa">
<action name ="XX*" class="Xa" method="{1}">
<result>/XX{1}_xx.jsp</result>
</package>
4.Action
1.实现一个Action的最常用方式:从ActionSupport继承
2.接收参数的方式(一般用属性或DomainModel来接收)
3.简单参数验证addFieldError//一般不用Struts2的UI标签
4.*访问Web元素
a。Map类型
i: IoC
ii: 依赖Struts2
b。原始类型
i: IoC
ii: 依赖Struts2
5.package 的 Global_Results 可以写一个同package都可以用的result
<global_result>
<result name="mainpage">/main.jsp</result>
</global_result>
6.<result type="redirect">XX.jsp</result> 属性为redirect 为客户端跳转.
7.Result
a>常用的四种类型
dispatcher 默认
redirect //从客户端跳转到Action
chain //服务器端跳转到Action
redirectAction
b>全局结果集
global-result|extends
c>动态结果(了解) J2EEstruts2 - 32
在action中保存一个属性,存储具体的结果location
d>传递参数 马士兵 J2EEstruts2 - 32
客户端跳转才需要传递
${ }表达式不是(EL)
8.OGNL ( Object Graph Navigation Language 对象图导航语言)
在OGNL里 大括号代表一个集合“{ XX }”
在OGNL 中 有时需要用到转义字符“\”
9.Struts-Tags 马士兵J2ee Struts44
a)property 标签 //value值默认为字符串
设置默认值<s:property value="一个不存在的变量" defaut="想设置的默认值"/>
<s:property value="一个html标签" escape="true"/> //escape默认为false 当设置为true表明不要把value的值解析为字符串
b)set 标签
格式:<s:set var="定义的一个变量" value="定义的变量的值"/>//value的属性是一个String
使用#取值
//id && name 属性已经被废弃
c)bean 标签 //定义一个bean 并用param来设定新的属性值
<s:bean name="一个对象地址(类)" var="XX" > //根据类 new 了一个对象 并命名为XX 使用var后属性会存在action context中 当</s:bean> 后也可以使用
<s:param name="name" value="'XXString'"><s:param/> //第二个name指上面的var 注意 value 会把设置的值当作一个OGNL对象 所以要加‘’!
</s:bean>
d)include 标签 因为中文的原因少用 // % 将原本的文本属性解析为ognl,对于本就是ognl的属性不起作用
e)iterator
格式:
<s:iterator value=""> //value 放集合 当存放的是map时 key和value之间用“:”隔开
<s:property value=""/> //value 放遍历条件
</s:iterator>
使用status //状态
遍历过的元素总数:<s:iterator value="#status.count"/>
遍历过的元素缩影:<s:iterator value="#status.index"/>
当前是偶数?:<s:iterator value="#status.even"/>
当前是奇数?:<s:iterator value="#status.odd"/>
是第一个元素吗?:<s:iterator value="#status.first"/>
是最后一个元素吗?:<s:iterator value="#status.last"/>
f)使用ui标签 马士兵 J2EE struts2 52 讲了如何修改 覆盖fielderror 25min左右