java - 在JSP上导入2个代理

标签 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.*" %>
<%  
}
%>

最佳答案

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

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

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

但是,这不是一个好的做法。最好您应该有一个两个 Function 类都实现的接口(interface),这样您就不需要那么多有条件的复制粘贴代码。

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

关于java - 在JSP上导入2个代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7402400/

相关文章:

java - 如何在 Eclipse 中更新 JRE

java - Ant -f<buildfile> 不工作但 -file<buildfile> 工作

java - 对话框 fragment 中未显示标题

java - 如何使用抽象类来简化 MVC 框架中的模型创建?

java - JAVA中的隐式接口(interface)、类转换

java - 如何使用 Tomcat 管理后端进程?

java - 根据 TLD 或标签文件中的属性指令,属性名称不接受任何表达式

html - Netbeans WEB 应用程序元素无法读取 CSS 文件的相对路径

javascript - 使用 JS 从文本区域获取值并将其传递给服务器(jsp),无需重新加载页面

jQuery DynaTree 不工作