0

SpringRooプロジェクトを作成しました。すべてがうまく見えます。次に、テキスト入力とボタンを備えたフォームをに追加しますindex.jspxcurrentUserこのフォームは、ToDoクラスの静的フィールドを変更します。だから私は追加しています:

<form>
  <%@ page import="static com.mypack.domain.ToDo.*" %>
   <label for="_username_id">My name is:</label>
    <% currentUser = request.getParameter("username"); %>
             <input type="text"  id="username" name="username" maxlength="30" path="username" size="0" value="<%= currentUser %>"/>
             <input type="submit"/>
</form>

その真ん中のどこか。そして今、それは機能しません:

This page contains the following errors:

error on line 6 at column 20: StartTag: invalid element name
Below is a rendering of the page up to the first error.

function readCookie(name) { var nameEQ = name + '='; var ca = document.cookie.split(';'); for(var i=0;i

上記の行にコメントすると、問題なく機能します。なにが問題ですか?jspページからクラスの静的フィールドに値を書き込む方法はありますか?これを回避するにはどうすればよいですか?

4

1 に答える 1

1

ELを使用するだけです。リクエストパラメータは。で利用できます${param.name}

<input type="text" name="username" value="${param.username}" />

XSSも考慮する必要があるだけです。これにはJSTLfn:escapeXmlを使用します。

<input type="text" name="username" value="${fn:escapeXml(param.username)}" />

スクリプトレット(それらのもの)を使用しないでください<% %>。それらは悪い習慣と見なされます。

静的フィールドであるということToDo.currentUserも、よく聞こえません。その値は、Webアプリケーション内のすべてのリクエスト/セッション間で共有されます。異なる訪問者には同じ値が表示され、変更はすべての訪問者に反映されます。それはあなたが望むものですか?

于 2010-04-27T00:57:33.477 に答える