Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
爱吃血肠
spring-framework
提交
ead5df45
S
spring-framework
项目概览
爱吃血肠
/
spring-framework
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
spring-framework
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
ead5df45
编写于
1月 26, 2010
作者:
A
Arjen Poutsma
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
SPR-6649 - Request mapping incorrectly receiving all dispatches for a controller
上级
2f840b10
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
39 addition
and
6 deletion
+39
-6
org.springframework.web.servlet/src/main/java/org/springframework/web/servlet/mvc/annotation/AnnotationMethodHandlerAdapter.java
...ervlet/mvc/annotation/AnnotationMethodHandlerAdapter.java
+1
-1
org.springframework.web.servlet/src/test/java/org/springframework/web/servlet/mvc/annotation/ServletAnnotationControllerTests.java
...vlet/mvc/annotation/ServletAnnotationControllerTests.java
+38
-5
未找到文件。
org.springframework.web.servlet/src/main/java/org/springframework/web/servlet/mvc/annotation/AnnotationMethodHandlerAdapter.java
浏览文件 @
ead5df45
...
...
@@ -596,7 +596,7 @@ public class AnnotationMethodHandlerAdapter extends WebContentGenerator
return
null
;
}
String
bestMatchingPattern
=
(
String
)
request
.
getAttribute
(
HandlerMapping
.
BEST_MATCHING_PATTERN_ATTRIBUTE
);
if
(
StringUtils
.
hasText
(
bestMatchingPattern
))
{
if
(
StringUtils
.
hasText
(
bestMatchingPattern
)
&&
bestMatchingPattern
.
endsWith
(
"*"
)
)
{
String
combinedPattern
=
pathMatcher
.
combine
(
bestMatchingPattern
,
methodLevelPattern
);
if
(!
combinedPattern
.
equals
(
bestMatchingPattern
)
&&
(
isPathMatchInternal
(
combinedPattern
,
lookupPath
)))
{
...
...
org.springframework.web.servlet/src/test/java/org/springframework/web/servlet/mvc/annotation/ServletAnnotationControllerTests.java
浏览文件 @
ead5df45
...
...
@@ -204,8 +204,20 @@ public class ServletAnnotationControllerTests {
@Test
public
void
defaultExpressionParameters
()
throws
Exception
{
initServlet
(
DefaultExpressionValueParamController
.
class
);
servlet
=
new
DispatcherServlet
()
{
@Override
protected
WebApplicationContext
createWebApplicationContext
(
WebApplicationContext
parent
)
{
GenericWebApplicationContext
wac
=
new
GenericWebApplicationContext
();
wac
.
registerBeanDefinition
(
"controller"
,
new
RootBeanDefinition
(
DefaultExpressionValueParamController
.
class
));
RootBeanDefinition
ppc
=
new
RootBeanDefinition
(
PropertyPlaceholderConfigurer
.
class
);
ppc
.
getPropertyValues
().
add
(
"properties"
,
"myKey=foo"
);
wac
.
registerBeanDefinition
(
"ppc"
,
ppc
);
wac
.
refresh
();
return
wac
;
}
};
servlet
.
init
(
new
MockServletConfig
());
MockHttpServletRequest
request
=
new
MockHttpServletRequest
(
"GET"
,
"/myApp/myPath.do"
);
request
.
setContextPath
(
"/myApp"
);
MockHttpServletResponse
response
=
new
MockHttpServletResponse
();
...
...
@@ -344,9 +356,6 @@ public class ServletAnnotationControllerTests {
protected
WebApplicationContext
createWebApplicationContext
(
WebApplicationContext
parent
)
{
GenericWebApplicationContext
wac
=
new
GenericWebApplicationContext
();
wac
.
registerBeanDefinition
(
"controller"
,
new
RootBeanDefinition
(
controllerClass
));
RootBeanDefinition
ppc
=
new
RootBeanDefinition
(
PropertyPlaceholderConfigurer
.
class
);
ppc
.
getPropertyValues
().
add
(
"properties"
,
"myKey=foo"
);
wac
.
registerBeanDefinition
(
"ppc"
,
ppc
);
wac
.
refresh
();
return
wac
;
}
...
...
@@ -1279,6 +1288,16 @@ public class ServletAnnotationControllerTests {
assertEquals
(
"handle"
,
response
.
getContentAsString
());
}
@Test
public
void
trailingSlash
()
throws
Exception
{
initServlet
(
TrailingSlashController
.
class
);
MockHttpServletRequest
request
=
new
MockHttpServletRequest
(
"GET"
,
"/foo/"
);
MockHttpServletResponse
response
=
new
MockHttpServletResponse
();
servlet
.
service
(
request
,
response
);
assertEquals
(
"templatePath"
,
response
.
getContentAsString
());
}
/*
* Controllers
...
...
@@ -2206,5 +2225,19 @@ public class ServletAnnotationControllerTests {
}
}
@Controller
public
static
class
TrailingSlashController
{
@RequestMapping
(
value
=
"/"
,
method
=
RequestMethod
.
GET
)
public
void
root
(
Writer
writer
)
throws
IOException
{
writer
.
write
(
"root"
);
}
@RequestMapping
(
value
=
"/{templatePath}/"
,
method
=
RequestMethod
.
GET
)
public
void
templatePath
(
Writer
writer
)
throws
IOException
{
writer
.
write
(
"templatePath"
);
}
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录