提示:
假设你要根据语言lang来动态的包含,那么可以这样:
three.jsp:String filename = null;
<%
if(lang.equalsIgnoreCase("Chinese")){
filename = "one.jsp";
}else{
filename = "two.jsp";
}
%>
<jsp:include page="<%=filename%>"/>
假设你要根据语言lang来动态的包含,那么可以这样:
three.jsp:String filename = null;
<%
if(lang.equalsIgnoreCase("Chinese")){
filename = "one.jsp";
}else{
filename = "two.jsp";
}
%>
<jsp:include page="<%=filename%>"/>
{
%>
<%@ include file="one.jsp"%>
<%
}
else
{
%>
<%@ include file="one.jsp"%>
<%
}
我想应该可以吧。
out.println("var1="+var1);
Tmsheng:
这样不行的,to: Joeblackyang
你真会开玩笑
也就是<%@ include file="one.jsp" %>,但这在一般情况下都不是动态的,是在jsp页面第一次编译时,把它导入的。而jsp编译后,这两个文件再作修改很多jsp服务器都不会侦测到,因为包含这两的jsp的jsp文件本身并没有发生变化。但很奇怪,weblogic6好像可以。你可以试试,不过不要抱太大希望,因为你这种要求不是很合理。向你这种情况,完全应该引入一个java类,这个类中定义一些变量(按你的说法都应该算是常量了,jsp取出来直接用而不会修改它再存回去),然后再jsp中得到那个类的实例,来进行处理。那样如果你要修改这些常量的值,就修改java类,而不用修改jsp.
One.java:
public class One
{
public final static String a="Chinese"; }
编译后放到classpath中。
然后在jsp中One.a这样就可以用了。
String s="chinese";
if(s.equals("chinese")){
%><jsp:include page="tow.jsp"/><%
}else{
%><jsp:include page="three.jsp"/><%
}
%>