【发布时间】:2014-08-15 17:18:55
【问题描述】:
我有一个名为reports.jsp 的jsp 页面,我在视图中显示了链接供用户单击。 如何通过单击将传递参数的链接来调用 Spring 控制器方法。
【问题讨论】:
-
链接是什么样的?
标签: java javascript jsp spring-mvc
我有一个名为reports.jsp 的jsp 页面,我在视图中显示了链接供用户单击。 如何通过单击将传递参数的链接来调用 Spring 控制器方法。
【问题讨论】:
标签: java javascript jsp spring-mvc
在 JSP 页面上
<a class="opcion" href="<%= request.getContextPath()%>/inicio">Inicio</a>
并且在控制器部分后端
@Controller
public class HomeController {
@RequestMapping(value = "/inicio", method = RequestMethod.GET)
public String index(ModelMap model){
model.addAttribute("message", "cargaGeneracion");
return "index";
}
}
【讨论】:
我已通过创建链接解决了答案:
<a href=".../test?argName=arg1" >hello</a>
控制器:
@RequestMapping(value = "/test", method = RequestMethod.GET, params = {"argName"})
public String Controller(@RequestParam(value="argName", required = true, defaultValue = null) String argName) {
...
//Now do exciting things with variable argName
}
【讨论】:
您必须使用@PathVariable 才能执行此操作。示例:
jsp:
<a href="<c:url value="/test/${object.argument}" />" >hello</a>
控制器:
@RequestMapping(value = "/test/{argument}", method = RequestMethod.GET)
public String Controller(@PathVariable("argument") String argument) {
...
}
【讨论】: