anirvan
anirvan

Reputation: 4877

spring mvc form handling without using spring tag

Recently, I have been researching a new framework for the purpose of building a web-application. To this end, I wanted to try out Spring MVC. Of the many parameters for evaluating a framework, one is that I don't want to be bound to the tag libs associated with the framework to make use of the HTTP request parameter -> Java bean translation. The Spring MVC documentation repeatedly mentions that it is possible to do view related things with only JSTL and no Spring tags, however, I haven't found a way to get the Request-to-Bean translation feature [SimpleFormController] to work without Spring tags.

As of now, the only way seems to extract the request parameters one by one and set to my bean. Is there any way to perform this translation w/o using framework dependent tags?

I appreciate your inputs!

Upvotes: 4

Views: 2841

Answers (3)

jsfRocks
jsfRocks

Reputation: 11

As per my understanding, what you are trying to achieve is Binding your form to your Bean Class, which is very nicely implemented in JSF. JSF works on component architecture and very easy to start with, plus it has many component builers available such as primefaces, omnifaces, icefaces, openfaces, etc. Reusability of self-designed components can help you a lot in specific projects. Try giving a chance to JSF. Thanks, hope this was helpful.

Upvotes: 0

three-cups
three-cups

Reputation: 4385

I use Spring Web MVC without Velocity templates (non-JSP templating). To answer your question, you need to understand how Spring performs data binding. Basically, it's all in the name you give your input elements. E.g

<input name="properytOne" value="1" type="hidden">
<input name="properytTwo" value="2" type="hidden">
<input name="rich.property3" value="3" type="hidden">

will bind values to an object like this

class CommandOne {
    private String propertyOne;
    private String popertyTwo;
    private CommandTwo rich;

    // Getters and setters
}

class CommandTwo {
    private String propertyThree;

    // Getters and setters
}

You also have to be sure to instantiate your command object, but that will be handled in your SimpleFormController.

Upvotes: 2

DwB
DwB

Reputation: 38300

Spring tags are completely optional.

Read chapter 15, 16, and 17 of the Spring Reference Document You can use annotations to retrieve request parameters with your controller (see section 15.3).

Upvotes: 1

Related Questions