JSP-在c:import中使用变量作为url

JSP-在c:import中使用变量作为url,jsp,jstl,Jsp,Jstl,我们是否可以在JSP中的语句中使用变量,例如: ,其中\u header是这样定义的JSP字符串 // host will typically equal: uk.domain.com or fr.domain.com String host = request.getServerName(); // cc is attempting to become the country code for the domain String cc = host.substring(0, host.inde

我们是否可以在JSP中的
语句中使用变量,例如:
,其中
\u header
是这样定义的JSP字符串

// host will typically equal: uk.domain.com or fr.domain.com
String host = request.getServerName();
// cc is attempting to become the country code for the domain
String cc = host.substring(0, host.indexOf("."));

String _header = "http://assets.domain.com/" + cc + "/includes/header_" + cc + ".jsp";
我们在多个市场拥有多个网站。能够以这种方式定义一个模板是理想的,因为这意味着对模板的更改更少。不幸的是,每当包含
时,服务器都无法加载页面

但包括,例如:
似乎效果不错

有什么想法吗


编辑:发现URL中的
变量实际上不起作用。为了让它工作,我们不得不做以下事情:

String cc = host.substring(0, host.indexOf("."));
session.setAttribute("cc", cc);

...

<c:import url="http://assets.domain.com/uk/includes/header_uk.jsp"><c:param name="market">${cc}</c:param></c:import>
String cc=host.substring(0,host.indexOf(“.”);
session.setAttribute(“cc”,cc);
...
${cc}
仍然没有解决可变URL问题,但是…

您不能可靠地将Scriptlet与taglibs/EL混合使用。它们在不同的时刻和范围内运行。你应该选择使用其中一个。由于Scriptlet的使用是从JSP2.0(2003年11月发布)开始的,因此我建议完全放弃它,只使用taglibs/EL

下面的脚本


不幸的是,由于我们无法控制我们正在处理的环境,我们无法缩小问题的范围——每当服务器检测到运行时错误时,它就会将浏览器重定向到404页面。不是很有帮助!知道这一点真是太棒了,非常感谢!我想是时候开始阅读taglibs/EL了!我们有点被这个CMS抛到了最深处,因为我们中没有人对Java/JSP有信心,所以这是一次很好的学习经历。如果我能投赞成票,我会。。。该死的我是个新手@艾托:按右上角的“问问题”按钮,详细说明。@BalusC:你的解决方案对我不起作用。但是,在搜索之后,我发现了问题:我试图在标记文件中使用它,如果不使用'isAligned=“false”'标志,它就不起作用。所以,对不起,你是对的。谢谢你把它贴出来@艾托:不客气。以后,请按右上角的
提问
,不要滥用评论发布问题。
<%
    // host will typically equal: uk.domain.com or fr.domain.com
    String host = request.getServerName();
    // cc is attempting to become the country code for the domain
    String cc = host.substring(0, host.indexOf("."));
%>