日期:2014-05-18  浏览次数:20764 次

关于超连接的问题
我有一个rul文本域,提交表单时就把值存到库里了.
然后在取出来时,如果当时填写的值没有加http://的话,下面的超连接地址就是http://此web应用/值/.如果提交表单时写了http://xxx.com就不会出现这样的问题,问一下这个要怎么解决啊?
<A   href= " <%=info.getUrl()%> "   target=_blank> <IMG   style= "BACKGROUND:   #656668 "   src= "BBS.files/home.gif "   border=0> </A>  


------解决方案--------------------
如果没有,自己加上去嘛。浏览器也有这个过程,如果没有指定协议它会默认给你加上http://。
------解决方案--------------------
感觉只能自己判断一下,因为如果你在输入的时候没加http,它会默认是本系统的一个子项目
------解决方案--------------------
写的值没有加http://的话,就在后台自动给它加上,应该没有区别,是吧:)
------解决方案--------------------
<c:set var= "url " value= " <%=info.getUrl()%> " /> //定义一个变量url并赋值
<c:if test= "${!fn:contains(url, "http ")} "> //判断url是否含有 "http ",如果没有(感叹号是取反)
<c:set var= "url " value= " <%= 'http:// '+info.getUrl()%> "/> // <%= %> 里面的算法我就不大清楚了,很久没用了 ^_^
</c:if>
<A href= "${url} " target=_blank> <IMG style= "BACKGROUND: #656668 " src= "BBS.files/home.gif " border=0> </A>
------解决方案--------------------
判断一下没有就加上去,可以在表单提交的时候加,也可以在获取request的parameter的时候加 ,也可以在插入数据库的时候加