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")}是对表达式语言函数的调用。当你使用表达式语言函数时,你必须在一个.tld文件中声明它,并指定一个前缀来使用它们。这是解释here

如果你在 JSP 页面中声明你的函数,你必须这样调用它:

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