2016-02-03 56 views
0

我對JSP沒有太多經驗。但我不知道爲什麼這個代碼失敗。無法在JSP中創建方法

<% 

String palabra=(String) request.getAttribute("expd"); 
System.err.print(palabra); 
String fec=(String) request.getAttribute("fecha"); 
System.err.print(fec); 
public String contarCaracteres(String pa){ 

} 

%> 

變量contarCaracteres的非法修飾符;只有最後一次被允許。

任何人都可以幫忙?可能我需要在我的jsp中導入幾個java,但是我不知道java導入的java類是爲了防止錯誤。 Thx

+0

它在方法中的失敗 – Dekker

+0

我強烈建議不要scriptlets。它們不是組織Java代碼的好方法。 JSTL是解決這個問題的好方法。 – christopher

+1

[在JSP中聲明函數?]的可能重複(http://stackoverflow.com/questions/826932/declaring-functions-in-jsp) – worpet

回答

0

您可以將JSP頁面想象成一個巨大的「main」方法,它執行其內部的所有語句。所以有效的你想要做的是 在另一個方法內創建一個方法,這是不允許的。但是你可以這樣做,如果你在自己的塊將其分離,喜歡這裏:

http://www.java2s.com/Code/Java/JSP/CreatingaMethod.htm

0

所有你在一個scriptlet <%...%>包括代碼都從JSP創建類的_jspService()方法。 public標識符不能與自動變量(在方法中聲明的變量)一起使用,如contarCaracteres。要獲得快速解決方案,請刪除public修飾符。但是,將所有這些代碼包含在Java bean中可能是一個好主意。