2011-07-11 20 views
4

私のプロジェクトにJSPコンパイルを追加しましたが、コンパイラは$ {object.value}のような間違ったマクロをチェックしません。オブジェクトは値のゲッターを持っていません。JSP型の安全性を向上させる方法はありますか?

JSPコンパイラ(jspc)をガイドするいくつかの方法があるのだろうかと思います。私はいくつかのオプションを検討していました: 1.明示的にJSP内のオブジェクトの型を宣言します(jsp:useBean?)。 2. $ {}の代わりに<%=%>の構造を使用する

しかし、これは役に立たなかった。

誰でもこの分野で彼の経験を共有していただければ幸いです。

答えて

0

いいえ、JSPの実行方法を根本的に再設計したい場合は除きます。

生成するHTMLは型保護されていません。

あなたができることは、サーブレットがJSPとともに動作するModel-2 MVCを使用することです。サーブレットがバインドや検証を心配し、適切なオブジェクトがページスコープで終わるようにしましょう。ページは表示にのみ関係する必要があります。

スクリプトレットのアイデアはひどいものです。誰もJSPにスクリプトレット・コードを入れるべきではありません。 JSTLを学び、使いましょう。

4

<jsp:useBean id="yourId" scope="request" type="com.blah.YourClass"/>を使用して、JSPをプリコンパイルします。

詳細はthis articleをお読みください。

関連する問題