Spring Playframework2类似于春季反向布线
谁能告诉我春天的路由机制 我在视图中使用thymeleaf,我想在视图中使用我的url的类名和方法名,就像在playframework中一样 但我喜欢在spring中在控制器方法声明之前定义urlSpring Playframework2类似于春季反向布线,spring,routing,reverse,thymeleaf,Spring,Routing,Reverse,Thymeleaf,谁能告诉我春天的路由机制 我在视图中使用thymeleaf,我想在视图中使用我的url的类名和方法名,就像在playframework中一样 但我喜欢在spring中在控制器方法声明之前定义url 你的建议怎么样。谢谢。这是spring框架中的一般流程 每当用户发出请求时,它将首先转到Spring的DispatcherServlet。DispatcherServlet任务是将请求发送到spring mvc控制器(自定义控制器) 您可以这样定义自定义控制器: @Controller public
你的建议怎么样。谢谢。这是spring框架中的一般流程
@Controller
public class MyResourceController {
@RequestMapping("/user/{name}")
public String showUser(String name, Model model) {
...
return "show";
}
}
<a th:uri="mvcUrl('MRC#ShowUser').buildAndExpand('bob')">Show user Bob</a>
<!-- will generate "/user/bob" -->
控制器:(代码段)
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1> Welcome to Spring!!!</h1>
</body>
</html>
在此处插入标题
欢迎来到春天!!!
<!-- Resolves views selected for rendering by @Controllers to .jsp resources in the /WEB-INF/views directory -->
<beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<beans:property name="prefix" value ="/WEB-INF/views/" />
<beans:property name="suffix" value=".jsp" />
</beans:bean>
我认为,这与SpringMVC和路由流有关。希望对您有所帮助。自4.1版以来,Spring框架提供了一种从模板生成资源路由的方法(即视图中的反向路由) 您可以检查,但它基本上使用自动生成的命名路由 我不知道Thymeleaf是否支持它的标准方言,但是;如果没有,这可能是Thymeleaf项目的一个功能 假设您有一个MyUserController,如下所示:
@Controller
public class MyResourceController {
@RequestMapping("/user/{name}")
public String showUser(String name, Model model) {
...
return "show";
}
}
<a th:uri="mvcUrl('MRC#ShowUser').buildAndExpand('bob')">Show user Bob</a>
<!-- will generate "/user/bob" -->
使用这种方言,您可以引用如下操作:
@Controller
public class MyResourceController {
@RequestMapping("/user/{name}")
public String showUser(String name, Model model) {
...
return "show";
}
}
<a th:uri="mvcUrl('MRC#ShowUser').buildAndExpand('bob')">Show user Bob</a>
<!-- will generate "/user/bob" -->
显示用户Bob
看起来很有希望。当我用thymeleaf模板机制完成后,我会看看它。谢谢我已经提出了一个问题来询问thymeleaf维护人员:谢谢,伙计。我已经找到了一个最接近的解决方案,那就是:但是我不想使用一个专用的文件f.e.routes.conf
,我想使用spring mvc注释,比如:@RequestMapping(value=“/main\u page”,method=RequestMethod.GET)
这个项目很不错,但它不支持spring mvc的所有功能:内容协商,请注意,此项目与@RequestMapping
注释完全不兼容;这是它的核心。如果您对@RequestMapping
注释感到满意,我建议您继续使用它。免责声明:我是这个项目的主要贡献者。所以你建议实现这一点的唯一方法是编写我自己的反向路由实现(我想是用java反射实现的)?