如何在spring mvc中通过jquery从另一个jsp页面打开一个jsp页面

时间:2016-11-08 05:33:12

标签: jquery spring jsp

下面是我的jquery代码,我不想在spring mvc中打开editPostion.jsp页面。

$('#editRAG').click(function() {
        $.ajax({
            type : "GET",
            cache: false,
            //dataType : 'json',
            url : "editPosition.jsp",
            data: {
                posn : $('#RAGVal').val(),  
            },
            success : function(data) {alert('2');
                window.location="/editPosition.jsp"                   
                }
        });
    }); 

提前致谢。

2 个答案:

答案 0 :(得分:1)

不要直接从客户端访问JSP。相反,依靠控制器为您提供服务。

例如,您可能将控制器映射到/editPosition的GET请求,该请求为editPosition.jsp提供服务。在这种情况下,请改为在AJAX调用中访问/editPosition URL。

答案 1 :(得分:0)

使用处理程序方法定义一个控制器,它将返回客户端“view”,它将呈现你的jsp。 您需要在spring mvc中进行配置。

1.为视图解析器配置application-context.xml,在您的情况下为* .jsp

<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <property name="viewClass"
        value="org.springframework.web.servlet.view.JstlView" />
    <property name="prefix" value="/WEB-INF/views/jsp/" />
    <property name="suffix" value=".jsp" />
</bean>
  1. 使用处理程序方法添加控制器以返回GET上所需的视图,即editPosition.jsp

     @Controller
     public class ViewController{
    
     @RequestMapping(value = "/position", method=RequestMethod.GET)
     public ModelAndView getEditPositionView(){
        return new ModelAndView("editPosition");
     }
    }
    
  2. 你的jQuery看起来应该是(部分)

    $('#editRAG').click(function() {
    $.ajax({
        type : "GET",
        cache: false,
        content-type: application/json
        url : "position", //server root + position 
        data: {
            posn : $('#RAGVal').val(),  
        }
      }); 
     });