我知道它不是推薦,我應該使用標籤庫等等等等JSP scriptlet中的方法是否合法?
但我還是想知道,如果它是合法的聲明JSP scriplet方法:
<%
public String doSomething(String param) {
//
}
String test = doSomething("test");
%>
是那合法?我收到了一些奇怪的編譯錯誤(如a ; is expected
),看起來不合適。謝謝。
我知道它不是推薦,我應該使用標籤庫等等等等JSP scriptlet中的方法是否合法?
但我還是想知道,如果它是合法的聲明JSP scriplet方法:
<%
public String doSomething(String param) {
//
}
String test = doSomething("test");
%>
是那合法?我收到了一些奇怪的編譯錯誤(如a ; is expected
),看起來不合適。謝謝。
您需要使用聲明語法(<%! ... %>
):
<%!
public String doSomething(String param) {
//
}
%>
<%
String test = doSomething("test");
%>
我想添加http://download.oracle.com/javaee/5/tutorial/doc/bnajq.html – 2010-09-22 12:25:07
瞭解JSP的工作:整個JSP是由Tomcat的轉換成Java類。這個Java類不過是Servlet。所以最終你會運行這個servlet。
現在考慮你正在寫一個打印的2號和的JSP代碼,在方法
<body>
<%!
public int add(int a,int b)
{
return a+b;
}
%>
<%
int k;
k=add(5,6);
%>
<%=
k
%>
</body>
就這麼過去了,如果你寫的是打印出的2號和相同的代碼在一個servlet中,你可能會在doGet()方法中編寫它。
的原因,爲什麼你會得到一個錯誤是你定義的另一種方法中的一個方法(違反的方法定義的規則)。
因此,我們把方法定義標籤,這樣,如果形成一種新的方法
可能的複製[在JSP中聲明的功能呢?(https://stackoverflow.com/questions/826932/declaring- functions-in-jsp) – 2017-08-29 23:30:12