JSTL中需要“c”前缀<c:foreach>?</c:foreach>

时间:2010-01-31 19:31:44

标签: java jsp jstl

我正在研究JSP的JSTL部分,我对<c:forEach>循环标记有疑问。是否需要c前缀?它是否表明任何规范?

2 个答案:

答案 0 :(得分:8)

JSP中的标记库由标记库URI 标识。在JSP页面中使用标记库时,可以通过URI导入标记库并将其绑定到某个前缀:

<%@taglib prefix = "c" uri = "http://java.sun.com/jsp/jstl/core" %>

之后,您使用指定的前缀来识别该库中的标记:

<c:foreach ...>

编辑:这些前缀可以是任意的,但有一种惯例是在标记库定义文件中使用<short-name>字段的值(它是c所在的位置JSTL Core来自)

答案 1 :(得分:6)

你需要一些前缀,但它不一定是c:,这只是约定。当您在JSP顶部声明标记库时,会指定前缀,并且它可以是您喜欢的任何内容(在合理范围内)。重要的部分是名称空间URI(也在JSP标头中指定),并且必须是特定值(在这种情况下为http://java.sun.com/jsp/jstl/core)。

但是必须具有某种形式的前缀,否则JSP引擎将无法识别它。