Java 如何从url中删除多余的表单操作标记?
下面是我的header.jspJava 如何从url中删除多余的表单操作标记?,java,html,spring,spring-mvc,tiles2,Java,Html,Spring,Spring Mvc,Tiles2,下面是我的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
<%@ 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 Student 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>
#霉素容器,h1,h3{
文本对齐:居中;
}
形式{
显示:内联块;
}
或
$(文档).ready(函数(){
$(“#输入字段”)。单击(函数(事件){
if(document.getElementById('regNo')。值!=“”){
$(“#编号”).submit();
}else if(document.getElementById('studentName')。value!=“”){
$(“#名称”).submit();
}
});
});
所以我通过localhost转到主页:8080/ProjectCtxt/mvc/template
之后,我在数字文本字段中输入一些值并按enter键,然后url变成localhost:8080/ProjectCtxt/mvc/search/s?regNo=123。现在,如果我再次输入另一个注册号,url将变为
localhost:8080/ProjectCtxt/mvc/search/s/search/s?regNo=124
将添加额外的搜索。
我正在使用apachetiles
“-//Apache软件基础//DTD Tiles配置2.1//EN”"http://tiles.apache.org/dtds/tiles-config_2_1.dtd“>
我的控制器在每次成功搜索后返回numberResult。使用
而不是
GET
合并url中的字段。但是POST
发送请求正文中的字段。并相应地修改控制器,例如@RequestMapping(value=“/new”,method=RequestMethod.POST)
有关更多详细信息,请查看确定。现在,当我进行第二次搜索时,我没有看到url后面的name=value,但我看到它是localhost:8080/ProjectCtxt/mvc/search/search/s,我得到404错误。如果您使用的是spring mvc,那么您需要将信息放在方法级别,例如@RequestMapping(value=“/new”,method=RequestMethod.POST)1)是的,我只放在方法级别。我将“search/s”重命名为“number”,将“search/l”重命名为name,当我使用POST时,它正在工作。但我不知道为什么我使用search/s和search/l时它不起作用。你能解释一下吗。我在学春天。2) 你能回答这个问题吗。你能回答这个问题吗?
<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>