什么原因导致JSP中出现“预期类型”错误?

时间:2010-06-21 20:39:07

标签: jsp

在JSP文件中,我得到了一个:

Type expected (found 'try' instead)

尝试建立连接时出错。这让我有两个问题。这里出了什么问题?更一般地说,是什么导致JSP中出现“预期的类型”错误?由于我无法在Google搜索中找到错误的解释。这是代码。

<%!
class ThisPage extends ModernPage
{
     try{
        Connection con=null;
        PreparedStatement pstmt=null;
        con = HomeInterfaceHelper.getInstance().getConnection();
        pstmt = con.prepareStatement("sql goes here");
        ResultSet rs = pstmt.executeQuery();
        con.close();  
    }
    catch (Exception e){
        System.out.println("sql error: exception thrown");
    }
}
%>

编辑以显示更多代码

1 个答案:

答案 0 :(得分:2)

通常你不能在类声明中添加try .. catch块,至少应该把它放在类的构造函数或static { }块之类的方法中。

我不知道JSP的语法是否有所不同,但你是否尝试过类似的东西:

class ThisPage extends ModernPage {
  Connection con;
  PreparedStatement pstmt;


  ThisPage() {
    try{
      con=null;
      pstmt=null;
      con = HomeInterfaceHelper.getInstance().getConnection();
      pstmt = con.prepareStatement("sql goes here");
      ResultSet rs = pstmt.executeQuery();
      con.close();  
    }
    catch (Exception e){
        System.out.println("sql error: exception thrown");
    }
  }
}

如果查看Java Language Specification,您会发现无法在类声明中插入 TryStatement