0

jspページの上部に以下のような関数を定義しました

<%!
  public boolean isSkillSelcted(String Skill1)
  {
     ...
     .. 
     . 
     return true;
  }
%>

今、私は以下のようにチェックボックスで関数を呼び出したい

<input name="chkSkills" type="checkbox" id="chkJava" value="Java" 
       <c:if test='${isSkillSelcted("Java") == true}'>Checked</c:if>>Java

関数が true を返す場合、チェック ボックスはチェック済みとしてマークされます。以下のように例外を表示します。

    org.apache.jasper.JasperException: /EditUser.jsp(73,71) 
The function isSkillSelcted must be used with a prefix when a default namespace is not specified

最初に fn を追加すると fn:isSkillSelected その不平を言う関数は未定義です

ここに画像の説明を入力

4

1 に答える 1

0

ステートメント${isSkillSelcted("Java")}は式言語関数の呼び出しです。Expression Language 関数を使用する場合は、.tldファイルで宣言し、それらを使用するためのプレフィックスを指定する必要があります。これについては、こちらで説明しています。

JSP ページで関数を宣言する場合は、次のように呼び出す必要があります。

  <input name="chkSkills" type="checkbox" id="chkJava" value="Java" 
  <% if (isSkillSelcted("Java")) { %>Checked<% } %> >
于 2013-02-18T12:04:11.130 に答える