Just wanted a clear answer for a direct question — google results have been all over the place or don’t address the combos you’ll see below.
I’m generally a JSP newbie and have been screwing around with the following code.
<form:input id="theId" path="path.copied.directly.fromSomewhereElse"
cssClass="contentTextInput" cssStyle="width: 229px" />
When I put that into my JSP page and load my website, it works fine and looks as my cssClass defines it. Then I start messing with it because I want it to display a default value.
<form:input id="theId" path="path.copied.directly.fromSomewhereElse"
value="blah" cssClass="contentTextInput" cssStyle="width: 229px" />
Suddenly, HTTP 500, an org.apache.jasper.JasperException! So I decide to remove the path altogether, while leaving in the value. This is just step 1 in something I know works because of prior experience. The code is now:
<form:input id="theId" value="someClass.valueIWantAsDefault"
cssClass="contentTextInput" cssStyle="width: 229px" />
That actually throws an exception, too — but then I remove the form prefix and it works– mostly. You see, the cssClass’s effects are now gone; it looks like a regular, unaffected input textbox. Here’s the code so far.
<input id="theId" value="someClass.valueIWantAsDefault"
cssClass="contentTextInput" cssStyle="width: 229px" />
What exactly do these attributes (and prefix) do that makes this mix-and-match work?
I’m guessing you’re dealing with a jsp page that relies on a JSP custom tag library that’s part of the Spring Framework. Here are the docs for the
<form:input>tag.valueis not a valid attribute for this custom tag as you can see in the docs link I provided above. When you remove theform:, you’re turning the tag into a plain old HTML<input>tag which is why your error is going away at that point. It’s also why your css stops working.cssClassis not the correct attribute for the HTML<input>tag. It’s simplyclass. They called itcssClassin the jsp custom tag lib most likely to avoid a lower level collision with theObject.getClass()method (long story, just take my word for it).