struts2 js提交表单中,表单提交传表单中文本框里面的值 该怎么传

struts2表单传递该页面从其他地方获得的参数值
在使用struts2开发web程序时,有些时候遇到这种情况,在页面的struts2表单提交的时候需要传递参数,而且这个参数是从其他页面或action中传递过来的参数,这个时候需要注意:
如果写成:
action="moveStuff?sid=&%=sid%&"
method="post"&
这样是不能传递该参数的,因为通过&%=sid%&获取不到对应的sid值,要改成一下表达式:
&s:form action="moveStuff?sid=%{#parameters.sid}"
method="post" theme="simple"
target="viewFrame"&
&&&&s:select
name="wareHouse.wno" list="{'A库','B库'}" headerKey="-1"
&&&&headerValue="请选择"
&&&&s:select
name="wareHouse.wsectno" list="{'1区','2区','3区'}"
&&&&headerKey="-1"
headerValue="请选择" /&
&&&&s:select
name="wareHouse.wlayerno" list="{'1层','2层'}" headerKey="-1"
&&&&headerValue="请选择"
&&&&s:textfield
name="firstBitNo"&&/s:textfield&到&s:textfield
&&&&size="4"
name="lastBitNo"&&/s:textfield&
&&&&s:submit
value="查看库位情况"
method="viewUseredOrNot"&&/s:submit&
&&&&s:submit
value="原料移库"
method="moveStuff"&&/s:submit&
&&&/s:form&
其中:#parameters.sid是Struts2中的命名对象parameters用户获取请求参数,是一个Map类型的对象,以请求参数的名字作为键(key),以请求参数的值作为值(value)。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。阅读排行榜
评论排行榜struts2中如何把表单中提交的值传到session中_百度知道
struts2中如何把表单中提交的值传到session中
现在弄到登陆的.2+spring2.jsp中表单的值传到session中,或者怎么样才能把表单中的值传到跳转页面来,然后在提交后login,怎么样才能传到session呀.jsp跳转过来页面接受,谢谢各位高手指点!我在做struts2+hibernate3.0整合开发,我想把login
提问者采纳
不用session的 struts2帮你做了你只要 在跳转过来页面中这么写${requestScope.username}${requestScope.password}
提问者评价
其他类似问题
您可能关注的推广
struts2的相关知识
其他1条回答
既然用了Struts2?或者不用框架用java脚本,难道你不熟悉Struts2,框架可以很轻松的解决这种基本问题,那就不需要考虑session的问题
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁struts2中一个表单中提交多个请求的例子(多个提交按钮)
使用这种方式也需要通过请求参来来指定要执行的动作。请求参数名的格式为  action!method.action  注:由于Struts2只需要参数名,因此,参数值是什么都可以。下面我就给出一个实例程序来演示如何处理有多个submit的form:主页面more_submit.jsp
代码如下:&%@ page language="java" import="java.util.*" pageEncoding="GBK"%&&%@ taglib prefix="s" uri="/struts-tags"%&&html&&head&&&&&title&My JSP 'hello.jsp' starting page&/title&&/head&&body&&&&&&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&&/body&&/html&
MoreSubmitAction.java
代码如下:import javax.servlet.http.*;import com.opensymphony.xwork2.ActionSimport org.apache.struts2.interceptor.*;public class MoreSubmitAction extends ActionSupport implements&&&&&&&&ServletRequestAware {&&&&private S&&&&private javax.servlet.http.HttpServletR&&&&// 获得HttpServletRequest对象&&&&public void setServletRequest(HttpServletRequest request) {&&&&&&&&this.request =&&&&}&&&&// 处理save submit按钮的动作&&&&public String save() throws Exception {&&&&&&&&request.setAttribute("result", "成功保存[" + msg + "]");&&&&&&&&return "save";&&&&}&&&&// 处理print submit按钮的动作&&&&public String print() throws Exception {&&&&&&&&request.setAttribute("result", "成功打印[" + msg + "]");&&&&&&&&return "print";&&&&}&&&&public String getMsg() {&&&&&&&&&&&&}&&&&public void setMsg(String msg) {&&&&&&&&this.msg =&&&&}}
structs.xml 代码如下:&?xml version="1.0" encoding="UTF-8" ?&&!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"&&struts&&&&&&package name="demo" extends="struts-default"&&&&&&&&&&action name="submit" class="action.MoreSubmitAction"&&&&&&&&&&&&&&result name="save"&&&&&&&&&&&&&&&&&/result.jsp&&&&&&&&&&&&&/result&&&&&&&&&&&&&&result name="print"&&&&&&&&&&&&&&&&&/result.jsp&&&&&&&&&&&&&/result&&&&&&&&&&/action&&&&&&/package&&&/struts&
result.jsp 代码如下:&%@ page language="java" contentType="text/ charset=GBK"&&& pageEncoding="GBK"%&&!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&&html&&head&&meta http-equiv="Content-Type" content="text/ charset=ISO-8859-1"&&title&提交结果&/title&&/head&&body&&h1&${result }&/h1&&/body&&/html&
顶一下(0) 踩一下(0)
热门标签:&当前位置: >
struts2中处理惩罚同一个表单的多个提交按钮
发布时间:
发布来源:
var a = "I Love {0}, and You Love {1},Where are {0}! {4}";alert(String.format(a, "You","Me"));在很多Web应用中,为了完成不合的工作,一个HTML form标签中可能有两个或多个submit按钮,如下面的代码所示: &!--[if !supportLineBreakNewLine]--& &html action="" method="post"& &input type="submit" value="保存" /& &input type="submit" value="打印" /& &/html& 因为在&form&中的多个提交按钮都向一个action提交,应用Struts2 Action的execute办法就无法断定用户点击了哪一个提交按钮。若是大师应用过Struts1.x就会知道在Struts1.2.9之前的版本须要应用一个LookupDispatchAction动作来处理惩罚含有多个submit的form。但应用LookupDispatchAction动作须要接见属性文件,还须要映射,斗劲麻烦。从Struts1.2.9开端,参加了一个EventDispatchAction动作。这个类可以经由过程java反射来调用经由过程request参数指定的动作(实际上只是断定某个恳求参数是不存在,若是存在,就调用在action类中和这个参数同名的办法)。应用EventDispatchAction必须将submit的name属性指定不合的值以区分每个submit。而在Struts2中将更轻易实现这个功能。 当然,我们也可以模仿EventDispatchAction的办法经由过程request获得和处理惩罚参数信息。但如许斗劲麻烦。在Struts2中供给了别的一种办法,使得无须要设备可以在同一个action类中履行不合的办法(默认履行的是execute办法)。应用这种体式格式也须要经由过程恳求参来来指定要履行的动作。恳求参数名的格局为 action!method.action 注:因为Struts2只须要参数名,是以,参数值是什么都可以。 下面我就给出一个实例法度来演示如何处理惩罚有多个submit的form: 【第1步】实现主页面(more_submit.jsp) &%@ page language="java" import="java.util.*" pageEncoding="GBK"%& &%@ taglib prefix="s" uri="/struts-tags" %& &html& &head& ??? &title&My JSP ""hello.jsp"" starting page&/title& &/head& &body& ??? &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& &/body& &/html& 在more_submit.jsp中有两个submit:保存和打印。此平分别经由过程method属性指定了要调用的办法:save和print。是以,在Action类中必必要有save和print办法。 【第2步】实现Action类(MoreSubmitAction)
import javax.servlet.http.*; import com.opensymphony.xwork2.ActionS import org.apache.struts2.interceptor.*; public class MoreSubmitAction extends ActionSupport implements ServletRequestAware { ??? private S ??? private javax.servlet.http.HttpServletR ??? // 获得HttpServletRequest对象 ??? public void setServletRequest(HttpServletRequest request) ??? { ??????? this.request = ??? } ??? // 处理惩罚save submit按钮的动作 ??? public String save() throws Exception ??? { ??????? request.setAttribute("result", "成功保存[" + msg + "]"); ??????? return "save"; ??? } ??? // 处理惩罚print submit按钮的动作 ??? public String print() throws Exception ??? { ??????? request.setAttribute("result", "成功打印[" + msg + "]"); ??????? return "print"; ??? } ??? public String getMsg() ??? { ??????? ??? } ??? public void setMsg(String msg) ??? { ??????? this.msg = ??? } } 上方的代码须要重视如下两点: save和print办法必须存在,不然会抛出java.lang.NoSuchMethodException异常。 Struts2 Action动作中的办法和Struts1.x Action的execute不合,只应用Struts2 Action动作的execute办法无法接见request对象,是以,Struts2 Action类须要实现一个Struts2自带的阻碍器来获得request对象,阻碍器如下: org.apache.struts2.interceptor. ServletRequestAware 【第3步】设备Struts2 Action struts.xml的代码如下: &?xml version="1.0" encoding="UTF-8" ?& &!DOCTYPE struts PUBLIC ??? "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" ??? "http://struts.apache.org/dtds/struts-2.0.dtd"& &struts&??? ??? &package name="demo" extends="struts-default" & ??????? &action name="submit" class="action.MoreSubmitAction"& ??????????? &result name="save" & ??????????????? /result.jsp ??????????? &/result& ??????????? &result name="print"& ??????????????? /result.jsp ??????????? &/result& ??????? &/action&??? ??? &/package&??? &/struts& 【第4步】编写成果页(result.jsp) &%@ page pageEncoding="GBK"%& &html& &head& ??? &title&提交成果&/title& &/head& &body& ??? &h1&¥{result}&/h1& &/body& &/html& 在result.jsp中将在save和print办法中写到request属性中的履行成果信息取出来,并输出到客户端。 启动Tomcat后,在IE中履行如下的URL来测试法度: ??? http://localhost:8080/moresubmit/more_submit.jsp 大师也可以直接应用如下的URL来调用save和print办法: 调用save办法:http://localhost:8080/moresubmit/submit!save.action 调用print办法:http://localhost:8080/moresubmit/submit!print.action
来自: /123feixuehua/blog/item/cd0aafb7709d77d.html

我要回帖

更多关于 struts2 js提交表单 的文章

 

随机推荐