Java 在JSP中,path和value属性在输入标记中做什么,以及表单前缀如何影响它们?

Java 在JSP中,path和value属性在输入标记中做什么,以及表单前缀如何影响它们?,java,jsp,attributes,input,Java,Jsp,Attributes,Input,我只是想为一个直接的问题找到一个明确的答案——谷歌搜索结果已经到处都是了,或者不涉及你将在下面看到的组合 我通常是一个JSP新手,一直在胡乱编写以下代码 <form:input id="theId" path="path.copied.directly.fromSomewhereElse" cssClass="contentTextInput" cssStyle="width: 229px" /> 当我把它放到我的JSP页面并加载我的网站时,它运行良好,看起来就像我的c

我只是想为一个直接的问题找到一个明确的答案——谷歌搜索结果已经到处都是了,或者不涉及你将在下面看到的组合

我通常是一个JSP新手,一直在胡乱编写以下代码

<form:input id="theId" path="path.copied.directly.fromSomewhereElse"
    cssClass="contentTextInput" cssStyle="width: 229px" />

当我把它放到我的JSP页面并加载我的网站时,它运行良好,看起来就像我的cssClass定义的那样。然后我开始处理它,因为我希望它显示一个默认的

<form:input id="theId" path="path.copied.directly.fromSomewhereElse"
    value="blah" cssClass="contentTextInput" cssStyle="width: 229px" />

突然,HTTP 500,一个org.apache.jasper.jaspereException!因此,我决定删除路径,同时保留值。这只是第一步,我知道这是因为以前的经验。代码现在是:

<form:input id="theId" value="someClass.valueIWantAsDefault" 
    cssClass="contentTextInput" cssStyle="width: 229px" />

这实际上也引发了一个异常——但我删除了表单前缀,它基本上可以正常工作。你看,cssClass的效果现在消失了;它看起来像一个常规的、未受影响的输入文本框。这是到目前为止的代码

<input id="theId" value="someClass.valueIWantAsDefault" 
    cssClass="contentTextInput" cssStyle="width: 229px" />


这些属性(和前缀)到底做了什么,使得这种混合匹配工作

我猜您正在处理一个依赖于作为Spring框架一部分的jsp自定义标记库的jsp页面。这是这张支票的单据<代码>值不是此自定义标记的有效属性,您可以在上面提供的文档链接中看到。当您删除
表单:
时,您正在将标记转换为一个普通的旧HTML
标记,这就是您的错误在此时消失的原因。这也是css停止工作的原因
cssClass
不是HTML
标记的正确属性。它只是
。他们在jsp自定义标记库中称它为
cssClass
,最有可能避免与
Object.getClass()
方法的低级冲突(说来话长,我相信它)