spring - Form is not getting submit after clicking on button -
please check below code:
updated web.xml is:
<display-name>spring mvc form handling</display-name> <servlet> <servlet-name>spring</servlet-name> <servlet-class> org.springframework.web.servlet.dispatcherservlet </servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>spring</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>spring</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
thats why ui messed up. link: http://postimg.org/image/cf80ko6in/ , spring-servlet.xml is:
<context:component-scan base-package="com.hrportal.controller" /> <bean class="org.springframework.web.servlet.view.internalresourceviewresolver"> <property name="prefix" value="/jsp/" /> <property name="suffix" value=".jsp" /> </bean> <bean id="messagesource" class="org.springframework.context.support.reloadableresourcebundlemessagesource"> <property name="basename" value="classpath:messages" /> <property name="defaultencoding" value="utf-8" /> </bean> <bean id="localechangeinterceptor" class="org.springframework.web.servlet.i18n.localechangeinterceptor"> <property name="paramname" value="lang" /> </bean> <bean id="localeresolver" class="org.springframework.web.servlet.i18n.cookielocaleresolver"> <property name="defaultlocale" value="en" /> </bean> <bean id="handlermapping" class="org.springframework.web.servlet.mvc.annotation.defaultannotationhandlermapping"> <property name="interceptors"> <ref bean="localechangeinterceptor" /> </property> </bean> not know how handle warnings error:404:
logs server , getting error '404' on browser's console..
12:42:40,416 debug dispatcherservlet:766 - dispatcherservlet name 'spring' processing request [/hrportal/scripts/jquery-1.9.1.js] 12:42:40,417 warn pagenotfound:1020 - no mapping found http request uri [/hrportal/scripts/jquery-1.9.1.js] in dispatcherservlet name 'spring' 12:42:40,418 debug dispatcherservlet:881 - completed request 12:42:40,419 debug dispatcherservlet:766 - dispatcherservlet name 'spring' processing request [/hrportal/images/datazen_logo.png] 12:42:40,420 warn pagenotfound:1020 - no mapping found http request uri [/hrportal/images/datazen_logo.png] in dispatcherservlet name 'spring' 12:42:40,421 debug dispatcherservlet:881 - completed request 12:42:40,497 debug dispatcherservlet:766 - dispatcherservlet name 'spring' processing request [/hrportal/images/facebook-icon.png] 12:42:40,499 warn pagenotfound:1020 - no mapping found http request uri [/hrportal/images/facebook-icon.png] in dispatcherservlet name 'spring' 12:42:40,499 debug dispatcherservlet:881 - completed request 12:42:40,501 debug dispatcherservlet:766 - dispatcherservlet name 'spring' processing request [/hrportal/images/imagestwitter.png] 12:42:40,503 warn pagenotfound:1020 - no mapping found http request uri [/hrportal/images/imagestwitter.png] in dispatcherservlet name 'spring' 12:42:40,527 debug dispatcherservlet:881 - completed request
i not able solve these warnings.
you have done mistakes:
1) have form action upcomingleaves.do
<form:form commandname="loginform" id="loginform" action="upcomingleaves.do">
and in controller have /upcomingleaves
@requestmapping(value = "/upcomingleaves" ,method = requestmethod.post)
2) trying form initialized button.
$("button").click(function(){ var $form = $(this); ....
3) think you'd suppose submit form 1 upcomingleave once, have upcomingleaves in single form. when submit form, jquery serialize upcomingleaves.
4) in case supposed perform actions like: accept
, reject
, cancel
, no need of $form.serialize()
, can perform these action sending employee id itself.
solution: render anchor tags employee id. , make job simpler..
like:
<a class="emp-leave-action" href='<c:url value="/leaveaccept.do/${upcomleave.employee_id}"/>'>accept</a> <a class="emp-leave-action" href='<c:url value="/leavereject.do/${upcomleave.employee_id}"/>'>reject</a> <a class="emp-leave-action" href='<c:url value="/leavecancel.do/${upcomleave.employee_id}"/>'>cancel</a>
and implement methods like: accept:
@requestmapping(value = "/leaveaccept.do/{empid}" ,method = requestmethod.get) public string processaccept(@pathvariable("empid") integer empid) { //do emplyee leave accept work here }
reject:
@requestmapping(value = "/leavereject.do/{empid}" ,method = requestmethod.get) public string processreject(@pathvariable("empid") integer empid) { //do emplyee leave reject work here }
cancel:
@requestmapping(value = "/leavecancel.do/{empid}" ,method = requestmethod.get) public string processcancel(@pathvariable("empid") integer empid) { //do emplyee leave cancel work here }
and use ajax call like:
$("a.emp-leave-action").click(function(e){ e.preventdefault(); $.get( $(this).attr('href'), function( data ) { alert( "action performed." ); }); });
Comments
Post a Comment