Struts2学习

 
<%
com.opensymphony.xwork2.util.OgnlValueStack ovs =
(com.opensymphony.xwork2.util.OgnlValueStack)request.getAttribute("struts.valueStack");
out.println(ovs.findString("sum"));
%>

 

Strusts2在jsp页面,获取参数值得方式。

 

 

同一个action里执行不同的方法,实现方法为:

路径设置为:action!method.action,前端页面设置为:

<s:form action="submit.action">
<s:textfield name="msg" label="输入内容"/> 
<s:submit name="save" value="保存" align="left" method="save"/>
<s:submit name="print" value="打印" align="left" method="print"/> 
</s:form>

 

 Server端如何获取Request对象

  Struts2 Action类需要实现一个Struts2自带的拦截器来获得request对象,拦截器如下:

    org.apache.struts2.interceptor. ServletRequestAware

代码片段为:

importjavax.servlet.http.*;
importcom.opensymphony.xwork2.ActionSupport;
importorg.apache.struts2.interceptor.*;
public class MoreSubmitAction extends ActionSupport implements ServletRequestAware
{
private String msg;
private javax.servlet.http.HttpServletRequest request;
//获得HttpServletRequest对象
public void setServletRequest(HttpServletRequestrequest)
{
this.request=request;
}

 

同一个action里执行不同的方法的配置方法为:

<package name="demo" extends="struts-default">
 <action name="test" class="action.MyAction">
 ……
 </action>
 <action name="my" class="action.MyAction"method="my">
 ……
 </action>
</package>

URL实现方式为:http://localhost:8080/contextPath/actionName!method.action

 

全局result的使用方式

<struts>
<package name="demo" extends="struts-default">
  <global-results>
 <resultname="print">/result.jsp</result>
</global-results>
<actionname="submit"class="action.MoreSubmitAction">
 ……
</action>
<actionname="my"class="action.MoreSubmitAction"method="my">
……
</action>
</package>
</struts>

如果<action>中没有相应的<result>,Struts2就会使用全局的<result>。

 

server端请求验证方法:

可以使用ValidationAware接口的其他方法(由ValidationAwareSupport类实现)获得或设置字段错误信息、动作错误信息以及动作消息

 服务端验证数据validate

http://itlab.idcquan.com/Java/Struts/775522.html

 

在Action类中获得HttpServletResponse对象
http://itlab.idcquan.com/Java/Struts/775524.html

 方法有四种

 上传单个文件,上传任意多个文件
http://itlab.idcquan.com/Java/Struts/775527.html

 

你可能感兴趣的:(Struts2学习)