欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

使用lt;jsp:includegt;,不想写死URL,动态生成URL的解决的方法

发布时间:2023/11/30 编程问答 55 豆豆
生活随笔 收集整理的这篇文章主要介绍了 使用lt;jsp:includegt;,不想写死URL,动态生成URL的解决的方法 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

JSP中文件包括有2种方式,静态包括和动态包括。

静态包括使用<%@ include file="" %>。动态包括使用<jsp:include page="" />

本文不打算介绍这2种方式的差别和使用场景,主要关注page和file属性的路径问题。

假设事先知道被包括页面的url,那么直接写死到page或file属性中就可以。这样的写死url的方式。没有什么不好,可是很不灵活,不能满足动态生成url的需求。

考虑这样的场景。A.jsp訪问B.jsp,传递一个id參数值,B.jsp须要依据id的值。包括不同的页面。当然,我们能够通过n多的if-elseif来实现,但这样的方式不灵活,有些时候甚至是根本不可能的事。

假设想要实现动态包括。最简单也是最合理的解决方案例如以下:

<jsp:include page="<%=request.getContextPath()%>/message/<%=request.getParameter("id")%>/.targetjsp"></jsp:include>

可是这样的方式不行,容器不会解析page中的jsp脚本。但经过试验,

<jsp:include page="<%=request.getParameter("id")%>"></jsp:include> 这样的方式。是可以正常解析參数值的。

于是我们能够得出结论:page属性要么全然是写死的常量URL,要么全是动态的java脚本,2种方式不能混搭

 

<% String urlPath = "/message/plugins/smsplugin_" + request.getParameter("type")+ "/add.jsp";%>
<jsp:include page="<%=urlPath %>"></jsp:include>

像这样的方式。可以借助java脚本的灵活性。实现随意复杂的推断逻辑。

 

參考资料:http://dangry.iteye.com/blog/868422/

 

转载于:https://www.cnblogs.com/zsychanpin/p/6999919.html

总结

以上是生活随笔为你收集整理的使用lt;jsp:includegt;,不想写死URL,动态生成URL的解决的方法的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。