Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Spring's SimpleFormController problem

9 views
Skip to first unread message

Pawel

unread,
Jan 22, 2008, 11:15:35 AM1/22/08
to
Hi,

I have a strange problem with my Spring 2.5 and Tomcat 5.5
application.

I have a form which looks like this:


<form:form method="post" commandName="loginCommand">
<form:errors path="*" cssClass="errorBox" />
<div id="login" class="lightBorder label">
<div id="header" class="lightBorder">Login</div>
user <form:input path="user"/> <form:errors path="user"/>
password <form:password path="password"/> <form:errors
path="password"/>

<div id="submit"><input type="Submit" name="submit" class="submit"
value=""></div>
</div>
</form:form>

My controller of this form looks like this:

public class LoginFormController extends SimpleFormController {
private Logger log = Logger.getLogger(LoginFormController.class);

public LoginFormController() {
log.debug("Constructor");
setCommandName("loginCommand");
setCommandClass(LoginCommand.class);
}

protected ModelAndView onSubmit(HttpServletRequest request,
HttpServletResponse response,
Object command, BindException errors) throws ServletException {
....
}
}

My command class looks like this:

public class LoginCommand {
private String user;
private String password;

public String getUser() {
return user;
}
public void setUser(String user) {
this.user = user;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}


My dispatcher-servlet.xml's appropriate fragment looks like this:

...
<bean id="loginFormController"
class="org.dyndns.orzekanie.controller.LoginFormController">
<property name="successView" value="/navigation/logon"/>
<property name="formView" value="/authexclude/index"/>
<property name="validator" ref="loginValidator"/>
</bean>
...

<bean id="urlMapping"
class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<value>
/jsp/authexclude/index.html=loginFormController
</value>
</property>
<property name="order" value="0"/>
</bean>
....

When I'm trying to run my application and display my form I get:

2008-01-22 16:59:44,578 610 DEBUG
[org.dyndns.orzekanie.controller.LoginFormController] (main:)
Constructor
2008-01-22 16:59:44,703 735 INFO
[org.springframework.web.servlet.DispatcherServlet] (main:)
FrameworkServlet 'dispatcher': initializatio
n completed in 203 ms
2008-01-22 17:00:33,843 49875 ERROR
[org.springframework.web.servlet.tags.form.InputTag] (http-8080-
Processor24:) Neither BindingResult nor
plain target object for bean name 'loginCommand' available as request
attribute
java.lang.IllegalStateException: Neither BindingResult nor plain
target object for bean name 'loginCommand' available as request
attribute
at
org.springframework.web.servlet.support.BindStatus.<init>(BindStatus.java:
142)
at
org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.getBindStatus(AbstractDataBoundFormElementTag.java:
161)
at
org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.getPropertyPath(AbstractDataBoundFormElementTag.java:
18
1)
at
org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.getName(AbstractDataBoundFormElementTag.java:
147)
at
org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.autogenerateId(AbstractDataBoundFormElementTag.java:
134
)
at
org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.writeDefaultAttributes(AbstractDataBoundFormElementTag.
java:123)
.......

Everything looks allright for me - I find this exception very strange.
Could someone give me some advice?
Thanks,
Pawel

0 new messages