深入分析 jsp引入文件之关键
本帖最后由 bonlog 于 2013-01-16 16:55:13 编辑 在网站的多语言中常用此法子。
enlish.jsp
<%
String index="Home";
%>
<%
String index="主页";
%>
<%if(lang.equals("chinese")){ %>//当session传来的lang是chinese但显示中文,英文就加载另一个文件
<%@include file="language/chinese.jsp" %>
<% }else{ %>
<%@include file="language/english.jsp" %>
<%} %>
<div id="header">
<div class="logo">
<img src="image/logo.gif">
</div><!--logo-->
<div class="lang">
<ul>
<li><a href="javascript:void(0);">-中文版</a></li>
<li><a href="">-English</a></li>
</ul>
</div><!--lang-->
<div class="clear"></div>
<li><a href="index.html"><%=index %></a></li> //为何要报错啊?为何不能引用 啊
<%@include file="language/chinese.jsp" %>
<div id="header">
<div class="logo">
<img src="image/logo.gif">
</div><!--logo-->
<div class="lang">
<ul>
<li><a href="javascript:void(0);">-中文版</a></li>
<li><a href="">-English</a></li>
</ul>
</div><!--lang-->
<div class="clear"></div>
<li><a href="index.html"><%=index %></a></li>//此变量又可以使用了了
index.jsp定义了?在哪?我怎么没看见。
就算你定义了,位置肯定也不对。
[解决办法]
虽然逻辑上是没问题 不过好像java语法不支持在if else 里定义的变量在外面引用
[解决办法]
jsp我不是很熟。
只是简单的设想了一下。这个程序如果改成
servlet的话。会不会就成了
String index="Home";
String index="主页";
if(){
System.out.prinln(index);
}else{
System.out.prinln(index);
}
而不是你设想的
String index="主页";
if(){
String index="Home";
System.out.prinln(index);
}else{
String index="主页";
System.out.prinln(index);
}
你打开class文件看一下。。只是个人感觉应该是是第一种