2016-08-12 3 views
0

JSPでvoid-method berechne2()を呼び出すにはどうすればよいですか?私は
エラー動作しませんしようとして
方法:演算子+は、私はあなたがいないこのように、異なるアプローチをすべきだと思うの引数の文字列、無効
JSPでvoidメソッドを呼び出す方法

<html> 
<body> 
    <%! int zahl = 12; %> 
    <%! public int berechne() { 
     return zahl * zahl; 
    } 
    %> 
    <%! public void berechne2(int zahl) { 
     zahl = zahl * zahl; 
    } 
    %> 
    <%= "Zahl: " + zahl %><br> 
    <%= "Quadrat davon: " + berechne() %> 
    <%= "Quadrat davon: " + berechne2(zahl) %>  // here 
</body> 
</html> 
+0

'%%" Quadrat davon: "+ berechne2(zahl)%>'は正確に何を期待していますか? ** void **メソッドの結果で 'Quadrat davon:'をどのように連結すると思いますか? P.S.スクリプトレットは、今では少なくとも10年は非常に悪い習慣でした。もしあなたが私なら、彼らが存在することさえも忘れてしまいます。 –

+0

"<%=" Quadrat davon: "+ berechne()%>"のように同じ出力が必要です。私はscripletsでこれを行う必要があります。それは良い方法ですよね? –

+0

良い、良い。今、 'berechne()'が 'int'を返すことを知っています。これは連結中に 'String'に変換されます。例えば" Quadrat davon:3 "が得られるかもしれません。さて、**何も返さないメソッド**、つまり 'void'メソッドのために、この出力がどうあるべきか教えてください。 –

答えて

-1

のために定義されていません。 scripletまたはservletを作成し、必要に応じてjspページに呼び出します。

ビルドしようとしているWebアプリケーションでは、Javaクラスを.classファイルにコンパイルし、アプリケーションの.warディレクトリのWEB-INF/classesに配置します。

jspでコードをインポートして使用するようにしました。

例:

<%@ page import="java.util.List" %>

またはいくつかの他のクラス:

<%@ page import="mypackage.myClass1%>

そして、あなたは複数のクラスをインポートしたい場合は、ちょうど間に,を追加します。 <%の@ページimport="mypackage.myClass1,mypackage2.myClass2,....,mypackageN.myClassN" %>

幸運! :D

+0

良い方法は、Javaクラスのすべてのメソッドを構築し、jspからこれらを呼び出すことですか? –

+0

私はこのようにしていますが、場合によってはコードを<%@...%>の間に置いていますが、このアプローチはより良いと思います。 :) –

+0

[taglib](https://docs.oracle.com/javaee/5/tutorial/doc/bnaiy.html)を使用するとよい方法です。 JSPは、Javaクラスへのアクセスをインポート、呼び出し、または他の方法で行うべきではありません。この勧告は10年前のもので、今は無責任です。 –

関連する問題