Reputation: 4878
Hi I am new to spring MVC, and unable to do form submission.
My Jsp Code
<form:form method="POST" action="save" commandName="report">
<div id="collapseOne" class="panel-collapse collapse in"
role="tabpanel" aria-labelledby="headingOne">
<div class="panel-body">
<div class="col-md-3 col-sm-12 col-xs-12 form-group" >
<label><spring:message code="label.report.report_type"/><span class="required">*</span></label>
<form:select id="reportTypeSelect" class="form-control" path="reportType">
<form:options items="${report.reportTypes}"></form:options>
</form:select>
<!-- <select
class="form-control" name="scheduleType">
<option><spring:message code="label.report.chose_type"/></option>
<option><spring:message code="label.report.adhoc"/></option>
<option><spring:message code="label.report.scheduled"/></option>
</select> -->
</div>
<div class="form-group">
<label class="control-label col-md-3 col-sm-3 col-xs-12">
<spring:message code="label.report.sql_query"/></label>
<div class="col-md-9 col-sm-9 col-xs-12">
<form:textarea class="resizable_textarea form-control"
placeholder="Write Sql Queries to exceute the records ..." name="query" path="reportQuery"></form:textarea>
</div>
</div>
<div class="col-md-3 col-sm-12 col-xs-12 form-group">
<label><spring:message code="label.report.query_name"/><span class="required">*</span></label>
<form:input type="text" placeholder="Query Name" name="reportQueryName" path="reportType" class="form-control"></form:input>
</div>
<div class="col-md-3 col-sm-12 col-xs-12 form-group">
<label><spring:message code="label.report.schedule_date"/><span class="required">*</span></label> <input
id="eventDate"
class="date-picker form-control col-sm-12 col-xs-12"
required="required" type="text">
</div>
<div class="col-md-6 col-sm-12 col-xs-12 form-group">
<label><spring:message code="label.report.emailid"/><span class="required">*</span></label> <form:input
type="text" placeholder="Maximum 4 Email Recepients" name="email" path="emails" class="form-control"></form:input>
</div>
<div class="clearfix"></div>
<div class="form-group">
<div class="button-right">
<!--<button type="submit" class="btn btn-primary">Save</button>-->
<button type="submit" class="btn btn-success"> <spring:message code="label.button.save"/>
</button>
</div>
</div>
</div>
</div>
</form:form>
My Controller
@Controller
public class ReportsViewController {
private static final Logger logger = LoggerFactory.getLogger(ReportsViewController.class);
@RequestMapping(value="/reports",method=RequestMethod.GET)
public String displayReports(ModelMap model) {
logger.info("Start of displayReports()...............");
ReportsViewBean report = new ReportsViewBean();
report.setReportTypes(getReportType());
model.addAttribute("report", report);
logger.info("End of displayReports()...............");
return "reportsView";
}
@RequestMapping(value="/reports/save",method=RequestMethod.POST)
public String updateReports(@ModelAttribute("query") String query) {
System.out.println("username" + query);
return "reportsView";
}
private List<String> getReportType() {
List<String> type = new ArrayList<String>();
type.add("Adhoc");
type.add("Schedule");
return type;
}
}
Upvotes: 0
Views: 27
Reputation: 4691
Your problem is here :
@RequestMapping(value="/reports/save",method=RequestMethod.POST)
public String updateReports(@ModelAttribute("query") String query)
This should be :
@RequestMapping(value="/reports/save",method=RequestMethod.POST)
public String updateReports(@ModelAttribute("report") ReportsViewBean report)
This is the only way to get your model after the POST
and then you can retrieve the attribute's values of your model.
You don't add the code of your model but be sure that it has all attributes you put in each path
attribute of your form.
Upvotes: 1