❶ 怎么把action中的值传到jsp页面
对于如何把struts2的action中的值传到jsp页面中,主要的方法有种:
使用转发视图利用request域中储存所需的值
使用重定向时存储数据进入session使其在jsp中可以获得
下面,让我们分先后的讲解这2种方法!
准备步骤:
jsp页面随时准备使用el表达式获取request中的值,
action中的值分2种,一种是在方法中诞生的,作用域也是方法内;一种是定义为类成员(并带有get,set或者为public),此种方式只需赋值
2.操作流程:
对于action的类属性,直接为其赋值(例如 message="Test";),然后在jsp页面中使用el表达式取出这个值(${message },直接以类属性名称取值即可,el默认的取值域就是request,struts2会将action的所有带有get,set的属性自动的放入request域中【当然你也可以使用struts的标签库,不推荐】)
对于action中方法中产生的数据,又不想为其在action类中定义对应的成员,我们可以手动的将其存放进入request域中,在struts2中,有2种方式可以将数据存入request中,一种是通过ActionContext.getContext().put("message",message);直接放入将数据request域中,不获取request本身,获取其中的Map;另一种是使用ServletActionContext.getRequest().setAttribute("message",message);直接取得request对象,再使用request对象的方法setAttribute()方法存入数据!将数据存入request中后,jsp中取值并无差别(同上)!
准备步骤:同上!不同处是不管要存入的数据是不是类的属性,我们都必须在方法中进行处理才能将数据存入session,而不能依靠struts2自动帮我们搞定!
操作流程:
不管数据是哪里诞生的,得到数据后!比如为message;同上的第二种情况:也有2中方式将数据存入到session中:
a.在方法中通过ActionContext().getContext().getSession().put("message",message);首先获取session中的map,再使用Map接口的方法put()存入数据
b.在方法中通过ServletActionContext().getRequest().getSession().setAttribute("message",message);首先获取session对象,再使用session对象的setAttribute方法将数据存入session域
最后,不管那种方式将数据存入到session中,我们都可在jsp页面中获取session中的值,例如${sessionScope.message }
不论如何,总是将数据存入tomcat提供的几个存数据的域中(request,session,application),然后在页面通过EL表达式获取即可!
❷ JSP如何获得页面所有参数的ID并传入action
1.页面上有一个<form><input type="hiddent" name="hiddenValue" id="hiddenText" /></form>
2.你可能是用js把值像这样设置
var hiddentext = document.getElementById("hiddenText");
hiddentext.value="你的参数的ID"
3.后台的action中
request.getParameter("hiddenValue");
over
你需要注意的是
在页面上js通过控件的ID也就是id="hiddenText"来获取该控件
而后台的ACTION则是通过控件的name也就是name="hiddenValue"属性来获得控件的值
如果你是采用的传统的ACTION提交方式,则页面上需要一个<form></form>
❸ 在JSP页面中定义参数,map
<s:iterator value="lname" >
<td>
<s:property /><br>
</td>
</s:iterator>
❹ struts2中jsp怎么向action传参
struts2
的action一般是通过属性的set方法给页面传递参数.,也就是在action中定义属性,并且提供getter与setter,然后在方法中为该属性赋值,就可以在页面中得到该值
当然,也可以通过request的setAttribute()方法来传递参数,不过action要实现HttpServletRequestAware,或者action
实现requestAware,通过map.put(key,value)来传递参数
❺ jsp使用action中的map
可以使用struts的标签。如在action中定义了一个
private String name;
那个在jsp页面中这样引用
<s:property value="name" />
如果action中定义了map,则在前台jsp中可以使用迭代器来引用(<s:iterator标签)。
❻ jsp页面像action中传值问题,需要传递一个map
一定要通过表单提交吗,这个比较麻烦,因为通过表单提交的数据,到后台都是内字符串数据,还得写长法实现数容据的转换
如果说不一定,可以考虑用session,这就简单了,页面先存,后台取,至于如何遍历,方法很多,一搜一大堆
存 session.setAttribute("map",map);
取 Map map = (HashMap)session.getAtrribute("map");
❼ 怎样从jsp页面传递一个List<Map<String,Object>>的集合到Action
在jsp页面把List<Map<String,Object>>值作为参数放在action属性里面然后提交
后台就直接在Action里面getparameter
试试
❽ java中如何在前台jsp页面封装一个map并传到后台啊
如果你是在jsp页面嵌入java代码,那就更后台代码一样,用request.setAttribute等方法就可以了。如回果不想在页面嵌入java代码,答用js这些是直接办不到的。但是可以用json把参数通过键值对的方式传到后台,实际跟map的思想都是一样的。你可以查一下json的使用方法。