在JSP中如果很长的网址怎么缩短呢
By:Roy.LiuLast updated:2013-08-25
在展示层,如果用jsp,jstl来呈现给客户的话,在有的情况下,输出的URL 会很长,看起来很不输入,那么有没有方法,将这个URL 缩短呢,这里的缩短,不是指现在流行的短网址。如何实现呢。
比如有如下一段代码:
在这里 target.valueString 会很长。有什么方法缩短呢,其实自定义方法就可以,程序的原理很简单,就看你会不会这么做而已
然后
当然,你完全可以采用如下方法实现也是可以的,采用EL 方法。
比如有如下一段代码:
<c:foreach items= ""${targets}"" var= ""target"" > <c: if test= ""${not" empty= "" target.valuestring}"= "" > <a href= ""<c:out" value= ""${target.valueString}"/" > " target=" _blank "><c:out value=" "${target.valueString}"/"></c:out></a> <spring:message code= ""entry.confirmDelTarget"" var= ""confirmDelete"" > <a href= ""#"" onclick= ""if(confirm('${confirmDelete}'))" document.entryform.actionbtn.value= "'delTarget';document.entryForm.targetId.value='${target.id}';document.entryForm.submit();"" > <img src= ""/theme/images/gfx/ico_delete2.gif"/" > </a> </spring:message></c: if > </c:foreach> |
在这里 target.valueString 会很长。有什么方法缩短呢,其实自定义方法就可以,程序的原理很简单,就看你会不会这么做而已
public String getValueStringTruncated() { if (valueString.length() > 100 ) { return valueString.substring( 0 , 97 ) + "..." ; } } |
然后
<c:out value= ""${target.valueStringTruncated}"/" > </c:out> |
当然,你完全可以采用如下方法实现也是可以的,采用EL 方法。
<c:out value= ""${myFn:truncate(target.valueString)}"/" > </c:out> |
From:一号门
Previous:在spring service 层中使用多种validator
COMMENTS