200分悬赏:用struts2在action里面获取不到前台select控件的值
<!--页面的select--><selectname="streetId"><c:forEachitems="${requestScope.street}"var="s...
<!-- 页面的select -->
<select name="streetId">
<c:forEach items="${requestScope.street}" var="street"> <option value="${street.id }">${street.name }</option>
</c:forEach>
</select>
//获取select的value
ActionContext ac = ActionContext.getContext();
Map<String, Object> request = (Map<String, Object>)ac.get("request");
String streetId = request.get("streetId");
结果是null,为什么为什么?EL绝对没问题 展开
<select name="streetId">
<c:forEach items="${requestScope.street}" var="street"> <option value="${street.id }">${street.name }</option>
</c:forEach>
</select>
//获取select的value
ActionContext ac = ActionContext.getContext();
Map<String, Object> request = (Map<String, Object>)ac.get("request");
String streetId = request.get("streetId");
结果是null,为什么为什么?EL绝对没问题 展开
4个回答
展开全部
第一:你可以把streetId定义为Action成员变量即
public class Action extends ActionSupport{
private String streetId;
public String getStreetId(){
return streetId;
}
public void setStreetId(String streetId){
this.streetId=streetId;
}
}
第二种 你通过获取request对象 再通过getParameter("streetId");获得
获得request对象 可以:
通过ServletActionContext类来获取
Action中代码:
HttpServletRequest request = ServletActionContext.getRequest();
String streetId=request.getParameter("streetId");
--------------------------------------------------------------------------------------------
通过ServletRequestAware接口通过IOC机制注入Request对象
Action中的代码:
Action实现ServletRequestAware接口,实现接口中的方法
private HttpServletRequest request;
//实现接口中的方法
public void setServletRequest(HttpServletRequest request){
this.request = request;
}
//然后在execute()方法中就可以使用了
public String execute(){
String streetId=request.getParameter("streetId");
}
public class Action extends ActionSupport{
private String streetId;
public String getStreetId(){
return streetId;
}
public void setStreetId(String streetId){
this.streetId=streetId;
}
}
第二种 你通过获取request对象 再通过getParameter("streetId");获得
获得request对象 可以:
通过ServletActionContext类来获取
Action中代码:
HttpServletRequest request = ServletActionContext.getRequest();
String streetId=request.getParameter("streetId");
--------------------------------------------------------------------------------------------
通过ServletRequestAware接口通过IOC机制注入Request对象
Action中的代码:
Action实现ServletRequestAware接口,实现接口中的方法
private HttpServletRequest request;
//实现接口中的方法
public void setServletRequest(HttpServletRequest request){
this.request = request;
}
//然后在execute()方法中就可以使用了
public String execute(){
String streetId=request.getParameter("streetId");
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-08-04
展开全部
在一个JSP页面 已经有了一个2维数组,有两个Select
2维数组存放的都是地区,而每行的第一个即a[][0]存放的是省
我想让第一个select选择一个省 之后,让第二个select 显示该省的地区
这个该如何实现?
我这个页面没有使用脚本,目前就是只用《% %》 二维数组也是放到这个里面的。
2维数组存放的都是地区,而每行的第一个即a[][0]存放的是省
我想让第一个select选择一个省 之后,让第二个select 显示该省的地区
这个该如何实现?
我这个页面没有使用脚本,目前就是只用《% %》 二维数组也是放到这个里面的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用属性封装吧
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询