Sunday 15 July 2012

java - How to remove redundant form action tag from the url? -



java - How to remove redundant form action tag from the url? -

following header.jsp

<%@ page language="java" contenttype="text/html; charset=utf-8" pageencoding="utf-8"%> <head> <script src="http://code.jquery.com/jquery.min.js"></script> <style> #mycontainer, h1, h3 { text-align:center; } form { display:inline-block; } </style> </head> <div id="mycontainer"> <form method="get" action="search/s" id="number"> <div style="text-align: center;"> <input type="text" id="regno" name="regno" size="30" maxlength="50" placeholder="enter register number"> or </div> </form> <form method="get" action="search/l" id="name"> <input type="text" id="studentname" name="studentname" size="30" maxlength="50" placeholder="enter pupil name"></input> </form> </div> <div style="text-align: center;"> <input id="inputfields" type="button" value="search" /> </div> <script> $(document).ready(function(){ $('#inputfields').click(function(event){ if (document.getelementbyid('regno').value !=""){ $("#number").submit(); }else if(document.getelementbyid('studentname').value !=""){ $("#name").submit(); } }); }); </script>

so go homepage localhost:8080/projectctxt/mvc/template

after come in value in number text field , nail enter, url becomes localhost:8080/projectctxt/mvc/search/s?regno=123 . if 1 time again come in register number url becomes

localhost:8080/projectctxt/mvc/search/s/search/s?regno=124

an additional search/s gets added. using apache tiles.

"-//apache software foundation//dtd tiles configuration 2.1//en" "http://tiles.apache.org/dtds/tiles-config_2_1.dtd">

<tiles-definitions> <definition name="template" template="/web-inf/jsp/template.jsp"> <put-attribute name="title" value=""/> <put-attribute name="header" value="/web-inf/jsp/header.jsp" /> <put-attribute name="body" value="/web-inf/jsp/ads.jsp "/> <put-attribute name="center" value="/web-inf/jsp/ads.jsp" /> <put-attribute name="footer" value="/web-inf/jsp/footer.jsp" /> </definition> <definition name="header" extends="template"> <put-attribute name="title" value="" /> <put-attribute name="body" value="/web-inf/jsp/ads.jsp" /> </definition> <definition name="numberresult" extends="template"> <put-attribute name="title" value="" /> <put-attribute name="body" value="/web-inf/jsp/numberresult.jsp" /> </definition> <definition name="nameresult" extends="template"> <put-attribute name="title" value="" /> <put-attribute name="body" value="/web-inf/jsp/nameresult.jsp" /> </definition> <!-- <definition name="bottom" extends="new.template"> <put-attribute name="bottom" value="/mvc/jsp/ads.jsp" /> <put-attribute name="bottom" value="/web-inf/jsp/ads.jsp" /> </definition> --> </tiles-definitions>

my controller returns numberresult every successful search has been made.

use <form method="post" action="search/s" id="number"> instead of <form method="get" action="search/s" id="number">. get merge fields in url. post sends field in body of request. , modify controller accordingly e.g. @requestmapping(value="/new", method = requestmethod.post) more details have @ http://www.w3schools.com/tags/ref_httpmethods.asp

java html spring spring-mvc tiles2

No comments:

Post a Comment