Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
爱吃血肠
spring-framework
提交
46097726
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,发现更多精彩内容 >>
提交
46097726
编写于
2月 05, 2009
作者:
A
Arjen Poutsma
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Added extractFullFilenameFromUrlPath to WebUtils
上级
b0180fdf
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
34 addition
and
10 deletion
+34
-10
org.springframework.web/src/main/java/org/springframework/web/util/WebUtils.java
.../src/main/java/org/springframework/web/util/WebUtils.java
+15
-6
org.springframework.web/src/test/java/org/springframework/web/util/WebUtilsTests.java
...test/java/org/springframework/web/util/WebUtilsTests.java
+19
-4
未找到文件。
org.springframework.web/src/main/java/org/springframework/web/util/WebUtils.java
浏览文件 @
46097726
...
...
@@ -653,6 +653,20 @@ public abstract class WebUtils {
* @return the extracted URI filename (e.g. "index")
*/
public
static
String
extractFilenameFromUrlPath
(
String
urlPath
)
{
String
filename
=
extractFullFilenameFromUrlPath
(
urlPath
);
int
dotIndex
=
filename
.
lastIndexOf
(
'.'
);
if
(
dotIndex
!=
-
1
)
{
filename
=
filename
.
substring
(
0
,
dotIndex
);
}
return
filename
;
}
/**
* Extract the full URL filename (including file extension) from the given request URL path.
* Correctly resolves nested paths such as "/products/view.html" as well.
* @param urlPath the request URL path (e.g. "/products/index.html")
* @return the extracted URI filename (e.g. "index.html")
*/
public
static
String
extractFullFilenameFromUrlPath
(
String
urlPath
)
{
int
end
=
urlPath
.
indexOf
(
';'
);
if
(
end
==
-
1
)
{
end
=
urlPath
.
indexOf
(
'?'
);
...
...
@@ -661,12 +675,7 @@ public abstract class WebUtils {
}
}
int
begin
=
urlPath
.
lastIndexOf
(
'/'
,
end
)
+
1
;
String
filename
=
urlPath
.
substring
(
begin
,
end
);
int
dotIndex
=
filename
.
lastIndexOf
(
'.'
);
if
(
dotIndex
!=
-
1
)
{
filename
=
filename
.
substring
(
0
,
dotIndex
);
}
return
filename
;
return
urlPath
.
substring
(
begin
,
end
);
}
}
org.springframework.web/src/test/java/org/springframework/web/util/WebUtilsTests.java
浏览文件 @
46097726
...
...
@@ -19,14 +19,18 @@ package org.springframework.web.util;
import
java.util.HashMap
;
import
java.util.Map
;
import
junit.framework.TestCase
;
import
static
org
.
junit
.
Assert
.
assertEquals
;
import
static
org
.
junit
.
Assert
.
assertNull
;
import
org.junit.Test
;
/**
* @author Juergen Hoeller
* @author Arjen Poutsma
*/
public
class
WebUtilsTests
extends
TestCase
{
public
class
WebUtilsTests
{
public
void
testFindParameterValue
()
{
@Test
public
void
findParameterValue
()
{
Map
<
String
,
Object
>
params
=
new
HashMap
<
String
,
Object
>();
params
.
put
(
"myKey1"
,
"myValue1"
);
params
.
put
(
"myKey2_myValue2"
,
"xxx"
);
...
...
@@ -40,7 +44,8 @@ public class WebUtilsTests extends TestCase {
assertEquals
(
"myValue4"
,
WebUtils
.
findParameterValue
(
params
,
"myKey4"
));
}
public
void
testExtractFilenameFromUrlPath
()
{
@Test
public
void
extractFilenameFromUrlPath
()
{
assertEquals
(
"index"
,
WebUtils
.
extractFilenameFromUrlPath
(
"index.html"
));
assertEquals
(
"index"
,
WebUtils
.
extractFilenameFromUrlPath
(
"/index.html"
));
assertEquals
(
"view"
,
WebUtils
.
extractFilenameFromUrlPath
(
"/products/view.html"
));
...
...
@@ -49,4 +54,14 @@ public class WebUtilsTests extends TestCase {
assertEquals
(
"view"
,
WebUtils
.
extractFilenameFromUrlPath
(
"/products/view.html?param=/path/a.do"
));
}
@Test
public
void
extractFullFilenameFromUrlPath
()
{
assertEquals
(
"index.html"
,
WebUtils
.
extractFullFilenameFromUrlPath
(
"index.html"
));
assertEquals
(
"index.html"
,
WebUtils
.
extractFullFilenameFromUrlPath
(
"/index.html"
));
assertEquals
(
"view.html"
,
WebUtils
.
extractFullFilenameFromUrlPath
(
"/products/view.html"
));
assertEquals
(
"view.html"
,
WebUtils
.
extractFullFilenameFromUrlPath
(
"/products/view.html?param=a"
));
assertEquals
(
"view.html"
,
WebUtils
.
extractFullFilenameFromUrlPath
(
"/products/view.html?param=/path/a"
));
assertEquals
(
"view.html"
,
WebUtils
.
extractFullFilenameFromUrlPath
(
"/products/view.html?param=/path/a.do"
));
}
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录