在Struts2中,怎么由jsp跳转到action中

大家看啊。
jsp

java code

大家看啊,我的jsp页面表单什么的都没写,就写了个遍历,肯定的当我直接访问jsp页面,判断集合为空,就会什么都不输出的。然后想问的是,怎么直接访问jsp页面后跳到action中获取值。

由于第一天学struts,感觉很坑啊,希望大家耐心指教

哥们,你的理解有很大问题呀
不 jsp 跳到 action 取值
而是你应该访问action 然后返回你的jsp才能有值。

帮你梳理一下,什么是访问吧,呵呵

首先,浏览器访问一个地址,被你的servlet 获取,至于是不是访问jsp 还是访问action这个一般看你配置文件怎么配了,当然不会有人将action的标志写为 “jsp”,一般写.action 或者.do

那么如果你的拦截器也没有拦截jsp的话,(不明白拦截器可以忽略本段),会根据你的后缀名判断你要访问什么。

其实不管你访问什么,都可以认为最后通过 response 返回了一个字符串,返回文件不算。

那么这个字符串的构成不外乎有几种
1,全部静态,一般是 html,即直接指向一个静态页面,当然也可以通过actiong 转向一个html
2,全部动态,由java拼接一个字符串,返回,ajax请求一般是这种情况。当然,若全天是一个submit式提交,希望返回一个页面,那么你的字符串将被当作html代码展示。
3,半动态,也就是jsp方式,jsp中的html部分是静态不动的,其他jsp标签,如你写的s标签(s标签是strut的标签,说白了是jsp标签的一种),jsp标签会根据他的定义执行对应的java代码进行拼装。然后将拼装好的部分与原来的html部分结合,返回给浏览器。

无论是哪种,浏览器拿到的都是 静态的,也就是浏览器并不知道你后台做了什么,只是拿到一个已经拼装好了的html,(这个html原来可能就不需要拼装对应第一种,全部都是拼装的对应第二种,一半是拼装的对应第三种)

但是你直接访问jsp的问题是,当前sesson中没有你写的pages.pageList,所以啥也没有。

所以要在页面上显示列表有2种方案,这两种方案都很常见。
1,访问一个action,action先通过java取得值,将值付给某些变量,对你的来说就是pages.pageList,再将请求重定向到你的jsp,那么jsp中s标签就被拼装成你要值返回了前台。
页面上就有 表格了。
2,访问一个jsp,而这个jsp中没有你现在写的s标签,但是当jsp全部加载完成后,通过ajax向后台申请数据,再通过js(javascript)修改你前台的页面,展示出你要的结果,

随着这些年的发展,第二种方案越来越流行,其实怎么用还是要看自己。
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-12-14
struts2中提交action的方法:
就要在页面上修改 form元素的action属性
例如:
form1.action = "doSomethingAction.action"
form1.submit;
<form id="form1" action="doNothingAction.action" >
</form>
第2个回答  2015-03-31
你应该是直接访问action,通过遍历方法获取你的数据,转向到jsp进行数据展示吧追问

这种情况下都是直接访问action吗,要是我就想从jsp跳应该怎么办

追答

也可以啊。。通过js用ajax进行初始化

求Struts2中,在Action中跳转到Action中的方法,该怎么跳转,怎么写,求高 ...
<result type="redirectAction"> stuList!isList <\/result> <result name="false">index.jsp<\/result> <\/action> 如果在一个action中跳转,比如说对数据更新的方法,然后查出数据,你可以在action中 return this.query();\/\/这个query是你的方法名 如果好请采纳,谢谢!

struts2中如何在jsp页面中用js取得action中传过来的值?是用js得到...
js里可以直接写 var num="";actionNum就是action传过来的变量名

怎么在jsp首页跳转到struts2的action中 然后跳到studentInfo。jsp显 ...
一般jsp文件还是指struts中的视图跳转?jsp中可以 链接也可以 链接 而struts中的视图 一般是<result name="success">\/*.jsp<\/resutl> 当然还有很多类型比如跳转到其他的action 这时候就要用type了

各位java前辈:1.在struts2中,在jsp页面是如何获取Action中值的?需要...
struts是采用ognl模型,就是对象关系模型,想要得到action中的值,首先的一点这个值要有set和get方法,在你请求action的时候,会重新生成一个action对象--》调用set方法给这个属性赋值,在jsp上展示用的是get方法,例如你有一个属性name需要展示,set、get方法写好后,在你请求的action中给name赋值,页面就...

struts2中怎么从一个action跳到另一个action
action 中\/就代表\/test了,\/test\/action\/show.jsp这样 就相当于\/test\/test\/action\/show.jsp了

struts2:怎么从一个struts中的action跳到另一个struts文件中的actio...
<struts> <!--一个action跳转到另一个action 跳转方式为chain 会保留request对象 redirectAction 则不能保留--> <package name="limin" extends="struts-default"> <action name="sa1_*" class="com.Action.StrAction1" method="{1}"> <!--<result type="chain" name="sa2">sa2_sa2<\/...

struts2 的配置文件怎么从一个action跳到另一个action的某个方法...
-- 如果需要参数跳转,确保两个类中有get方法和set方法 --> ${xxx} <\/result><\/action><!-- 在此类中写上method属性就可以了,这就是你访问的方法 --><action name="B" class="xxxx" method="xxxx"> <result name="success">\/index.jsp<\/result><\/action> ...

struts2跳转时找不到action里面的方法
你是使用通配符来配置action,我估计是updateRangeById方法在action中是带参数的,而你在配置文件里设置的是updateRangeById()不带参数的不匹配,所以框架找不到

struts2中怎么从一个action跳到另一action??
配置文件struts.xml <action name="actionA" class="..."> <result type="chain">actionB<\\result> <\/action> <action name="actionB" class="..."> <result>...<\/result> <\/action> 然后你在jsp页面中把参数加到actionA后面就能传过去了 ...

Struts2 进入首页如何调用action?
建个空的jsp页面即可。一、Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。二、Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts...

相似回答