下面的代码没有给我想要的答案,我不知道问题出在哪里? FR 是 EN 的翻译(与 .properties 文件完全相同) 我想从 FR.java 文件中读取翻译,如果 我想从index.jsp页面访问fr.java或en.java的hello变量。但我编写的代码给了我 Lang.java 的值
String language = "FR";
条件位于 .jsp 文件中 jdk 1.4 给了我这个错误:Error(23,23): 变量 lang 可能尚未初始化
任何机构都可以提供帮助,请提供代码吗?
文件名Lang.java
package mypackage;
abstract public class Lang {
public String hello= "home page";
}
文件名 EN.java
package mypackage;
public class EN extends Lang {
public String hello = "hello";
}
文件名 FR.java
package mypackage;
public class FR extends Lang {
public String hello = "bonjour";
}
文件名:index.jsp
<%@ page contentType="text/html;charset=windows-1252"%>
<%@ page import="mypackage.Lang" %>
<%@ page import="mypackage.FR" %>
<%@ page import="mypackage.EN" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>language</title>
</head>
<body>
<%
String language = "EN";
Lang lang;
if (language.equals("EN")){
lang = new EN();
}
else if (language.equals("FR")){
lang = new FR();
}
%>
<%
out.print(lang.hello);
%>
</body>
</html>
最佳答案
按如下方式更改条件:
if (language.equals("FR")){
lang = new FR();
}
// add more languages here
// example:
// else if (language.equals("DE")) {
// lang = new DE();
// }
else {
lang = new EN();
}
关于java - 翻译中抽象类的专业用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3759950/