我在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,则复选框将被标记为checked.Its显示异常,如下所示。
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:isSkillSelcted其抱怨函数未定义
答案 0 :(得分:0)
语句${isSkillSelcted("Java")}
是对表达式语言函数的调用。
使用表达式语言功能时,必须在.tld
文件中声明它,并指定使用它们的前缀。这解释为here。
如果在JSP页面中声明了您的函数,则必须按以下方式调用它:
<input name="chkSkills" type="checkbox" id="chkJava" value="Java"
<% if (isSkillSelcted("Java")) { %>Checked<% } %> >