2014-10-05 5 views
0

내가 로컬 호스트에 의해 홈페이지로 이동 내 header.jsp를 그래서URL에서 중복 양식 작업 태그를 제거하는 방법은 무엇입니까? 다음

<%@ 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> 

입니다 : 8080/ProjectCtxt/MVC/템플릿 내가 번호 텍스트 필드에 어떤 값을 입력 한 다음, Enter 키를 누르십시오 그 후

url은 localhost : 8080/ProjectCtxt/mvc/search/s? regNo = 123이됩니다. 지금은 다시 URL이

이되는 또 다른 레지스터 번호를 입력하면 로컬 호스트 : 8080/ProjectCtxt/MVC/검색/S/검색/S 레뇨 = 124

추가 검색/S가 추가됩니다. Apache 타일을 사용하고 있습니다.

"- // 아파치 소프트웨어 재단 // DTD 타일 구성 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> 

내 컨트롤러는 성공적으로 검색 할 때마다 numberResult를 반환합니다.

답변

1


<form method="get" action="search/s" id="number"> 대신 <form method="POST" action="search/s" id="number">을 사용하십시오.
GET은 URL의 필드를 병합합니다. 하지만 POST은 요청 본문에 필드를 보냅니다. 예를 들어 컨트롤러를 적절하게 수정하십시오. @RequestMapping(value="/new", method = RequestMethod.POST) 자세한 내용은 http://www.w3schools.com/tags/ref_httpmethods.asp

+0

확인을 클릭하십시오. 이제는 두 번째 검색을 할 때 url 뒤에 name = value 값이 표시되지 않지만 localhost : 8080/ProjectCtxt/mvc/search/search/s로 표시됩니다. 404 오류가 발생합니다. – user3705478

+0

spring mvc를 사용하는 경우 정보 수준에 정보를 입력해야합니다. 예 : @RequestMapping (value = "/ new", method = RequestMethod.POST) –

+0

1) 예, 메서드 수준 만 넣었습니다. 나는 'search/s'를 'number'로, 'search/l'을 이름으로 변경했으며 POST를 사용할 때 현재 작동 중입니다. 하지만 search/s 및 search/l을 사용할 때 왜 작동하지 않는지 알 수는 없습니다. 제발 설명해 주실 래요. 나는 봄을 배우고있다. 2)이 질문에 대답 해 주시겠습니까? http://stackoverflow.com/questions/26209892/why-does-the-search-button-in-the-following-jsp-code-doesnt-work – user3705478