在JSP上导入2个代理

时间:2011-09-13 13:08:08

标签: java jsp

我的代码出现问题。我需要在JSP上导入两个代理。我不知道为什么,但是每当导入我的其他代理包时,我的代码都会出错。我想把导入代码放在if else语句中,但它不起作用。我的代码有问题吗?

<%@ page language="java" %>
<%@ page import="java.lang.String"%>

<%
int i = 1;

if (i == 0){
%>
        <%@ page import ="com.x.x.function" %>
        <%@ page import ="com.x.x.functionViDocument" %>
        <%@ page import ="com.x.x.types.*" %>
<%  
 }else {
%>
        <%@ page import ="com.x.x2.function" %>
        <%@ page import ="com.x.x2.functionViDocument" %>
        <%@ page import ="com.x.x2.types.*" %>
<%  
}
%>

1 个答案:

答案 0 :(得分:1)

您无法在Java中执行条件导入。 JSP被转换为java类(扩展了HttpServlet),并且您的代码不是有效的Java代码。

您可以在代码中使用完全限定的类名。如果您需要Function,那么:

com.x.x.Function fn1 = ...com.x.x2.Function fn2 = ..

然而,这不是一个好习惯。优选地,您应该具有两个Function类都实现的接口,这样您就没有那么多条件复制粘贴代码。

另外两件事:使用大写的类名(Function而不是function)。并且不要在JSP中编写java代码。请改用servlet。