前台有个动态的导航栏,当点击导航栏的某个导航链接时,要用${pageContext.request.contextPath }/admin/select.action这个action去调用controller里的方法去执行查询操作,但查询操作需要前台 value=“${dep.user_department}”里的值作为参数,要怎么传过来?
<div class="dropdown" style=" height:30px;float: left; background-color:#2785eb;margin-left: 85px;border-radius:6px; ">
<a class="dropdown-toggle" data-toggle="dropdown" href="#" style="text-decoration: none; color: white; font-size: 22px;">
展开导航 <span class="caret"></span>
</a>
<ul class="dropdown-menu">
<c:forEach items="${dep_list}" var="dep">
<li><a href="${pageContext.request.contextPath }/admin/select.action">
<c:out value="${dep.user_department}"/><p>
</a></li>
</c:forEach>
</ul>
</div>
@RequestParam是传递参数的.
@RequestParam用于将请求参数区数据映射到功能处理方法的参数上。
public String queryUserName(@RequestParam String userName)
在url中输入:localhost:8080/**/?userName=zhangsan
请求中包含username参数(如/requestparam1?userName=zhang),则自动传入。
弄个隐藏域 一起提交就可以了
通过js实现跳转。 像楼上说的那样,点击链接之后,触发js点击事件。提交表单。
如果安全性要求不高,可以在链接后面通过问号传值
<a href="${pageContext.request.contextPath }/admin/select.action?属性名=${dep.user_department">
<c:out value="${dep.user_department}"/><p>
在表单中加一个隐藏的input,在提交之前把没在表单里的一个参数设置到input中去,这样提交controller就可以收到了。
隐藏域hidden和js提交的url后带参数传递都可以
可以通过js先获取页面对象并获取值,然后同ajax异步传输到controller上
前台
//后台
@RequestMapping("select.action")
public String select(@RequestParam("user_department")){
//逻辑操作
return"jsp页面";
}