在控制层中,可以通过以下两种方法获取视图层select标签选中的值:
通过表单提交获取:
在前端页面中,将选中的值作为表单的一个参数,通过form表单提交到后台控制层。在后台控制层中,通过requestgetParameter()方法获取表单参数的值。
示例代码如下:
HTML代码:
```
<form action="testController" method="post">
<select name="selectValue">
<option value="value1">选项1</option>
<option value="value2">选项2</option>
<option value="value3">选项3</option>
</select>
<input type="submit" value="提交"/>
</form>
```
控制层Java代码:
```
@RequestMapping("/testController")
public ModelAndView testController(>
String selectValue = requestgetParameter("selectValue");
// do something with selectValue
return new ModelAndView("viewName");
}
```
2 通过AJAX请求获取:
使用ajax请求,在前端页面中获取select标签选中的值,并通过ajax发送到后台控制层。在后台控制层中,通过@RequestParam注解获取ajax请求中的参数值。
示例代码如下:
HTML代码:
```
<select id="selectValue">
<option value="value1">选项1</option>
<option value="value2">选项2</option>
<option value="value3">选项3</option>
</select>
<button onclick="getValue()">获取选中值</button>
<script>
function getValue() {
var selectValue = documentgetElementById("selectValue")value;
$ajax({
type: "POST",
url: "testController",
data: {"selectValue": selectValue},
success:function(data){
// do something with data
}
});
}
</script>
```
控制层Java代码:
```
@RequestMapping("/testController")
public ModelAndView testController(@RequestParam String selectValue) {
// do something with selectValue
return new ModelAndView("viewName");
}
```
<select name="sl1">
<option value="1">第一个</option>
<select>
Struts中action中sl1变量接受到得就是1,以此类推,相信你懂得~~不懂Hi我
在ACTION中添加值属性:public String year;//<select>标签中的name属性值要和这里的完全相同。
然后再加上year的get和set方法。
jsp界面上这里用的是<%%>你可以用jstl,不知道你存的数据是什么格式,暂且用list举例吧
<select id="">
<%
List list = (List)sessiongetAttribute("集合名称");
for(int i=0;i<listsize();i++){
//????这里加取值代码:如果是直接存的数据,就直接取;如果是对象的话,还要转换一下对象
%>
<option value="固定值或者list中得到的值">固定值或者list中得到的值</option>
<%
}
%>
</select>
form表单通过request来获取表单内的信息,只需要给select添加一个name值就可以了
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%
act=requestQueryString("act")
if act="" then
call test1()
else
call test2()
end if
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 10 Transitional//EN" ">
这个问题你似乎有点误解,其实对于struts2的select标签来说,你传过来的不是一个list,而是一个map
所以首选,你在action中的list要换成map,想想就知道了:下拉单不是这样的吗:<option value="mapvalue">mapkey</option>,所以应该这样写:
<s:select id="你的id" name="你的name" tabindex="1" list="你的map" headerKey="-1" headerValue="请选择"emptyOption="false" />
你的意思就是说从表单里的SELECT下拉菜单选出要选择的项,直接按提交,从接收页面接收到你所选的下拉项,通过连接数据库,查询出需要查询的结果呗。。。
你上面的例子中,在接收页通过requestquerystring("id")这个方法就可以从接收页接收到id的值,这个你应该知道吧。
同样你给select一个name属性值,在接收页通过name=requestfrom("name属性值")就可以吧select下拉列表所选中的值传递到接收页。
最后就是通过ADODB方式连接数据库,
select
from
表明
where
大类=name
明白了吧。
第一:你可以把streetId定义为Action成员变量即
public class Action extends ActionSupport{
private String streetId;
public String getStreetId(){
return streetId;
}
public void setStreetId(String streetId){
thisstreetId=streetId;
}
}
第二种 你通过获取request对象 再通过getParameter("streetId");获得
获得request对象 可以:
通过ServletActionContext类来获取
Action中代码:
>
以上就是关于控制层如何获取视图层select标签选中的值全部的内容,包括:控制层如何获取视图层select标签选中的值、在Action中获取一个数值 根据这个数值 判断jsp页面<select>中选择的是哪个<option> 有没有什么好的方法、Struts2中怎样把form表单中select中的选中值传到Action中获取等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)