Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring和Jquery_Java_Jquery_Spring_Spring Mvc - Fatal编程技术网

Java Spring和Jquery

Java Spring和Jquery,java,jquery,spring,spring-mvc,Java,Jquery,Spring,Spring Mvc,我使用SpringFramework3.1,我有一个页面,它显示一个对象列表。 例如: <c:forEach var="person" items="${restaurants}"> ... </c:forEach> ... 以及控制器方法(1)的代码: @RequestMapping(value=“/people”,method=RequestMethod.GET) 私人串餐厅(地图){ 列表r=新的ArrayList(); 对于(inti=0;i有两种方法,但是

我使用SpringFramework3.1,我有一个页面,它显示一个对象列表。 例如:

<c:forEach var="person" items="${restaurants}">
...
</c:forEach>

...
以及控制器方法(1)的代码:

@RequestMapping(value=“/people”,method=RequestMethod.GET)
私人串餐厅(地图){
列表r=新的ArrayList();

对于(inti=0;i有两种方法,但是不能将
c:forEach
标记与返回
JSON
的Ajax请求混合使用

第一种方法是发送一个
Ajax
请求,从第二个控制器检索
JSON
数据

$.post("/restaurant", {id:1}, function(data){
   /* Write the json returned in the data parameter
      to the user interface by creating dynamic HTML
    */  
});
这种方法不能利用
for:each
标记,因为ajax请求由客户端处理,而JSTL
foreach
标记是一种服务器端技术

另一种方法是将select标记的标记放入一个片段中,这将允许您重用组件以及独立地调用它

因此,让我们在主页(Restarunts)中说:

<div id="theSelect">
   <jsp:include page="myFragment.jsp"/>
</div>
简而言之,我推荐两种方法:

  • 通过ajax检索JSON并通过Javascript构建select元素,然后用新构建的元素替换现有的select元素。这是一种传统的客户端方法

  • 使select元素成为片段。使控制器的响应返回片段并将该元素加载到DOM中


  • 有两种方法,但不能将
    c:forEach
    标记与返回
    JSON
    的Ajax请求混合使用

    第一种方法是发送一个
    Ajax
    请求,从第二个控制器检索
    JSON
    数据

    $.post("/restaurant", {id:1}, function(data){
       /* Write the json returned in the data parameter
          to the user interface by creating dynamic HTML
        */  
    });
    
    这种方法不能利用
    for:each
    标记,因为ajax请求由客户端处理,而JSTL
    foreach
    标记是一种服务器端技术

    另一种方法是将select标记的标记放入一个片段中,这将允许您重用组件以及独立地调用它

    因此,让我们在主页(Restarunts)中说:

    <div id="theSelect">
       <jsp:include page="myFragment.jsp"/>
    </div>
    
    简而言之,我推荐两种方法:

  • 通过ajax检索JSON并通过Javascript构建select元素,然后用新构建的元素替换现有的select元素。这是一种传统的客户端方法

  • 使select元素成为片段。使控制器的响应返回片段并将该元素加载到DOM中


  • @Kevin的文章思路是正确的,您确实需要在配置中添加一些JAR,并且需要实现ContentNegotingViewResolver,以便它从控制器生成JSON

    $.post("/restaurant", {id:1}, function(data){
       /* Write the json returned in the data parameter
          to the user interface by creating dynamic HTML
        */  
    });
    

    涵盖了准确设置您要执行的操作的所有步骤。

    @Kevin的文章思路正确,您确实需要在配置中添加一些JAR,并且需要实现ContentNegotingViewResolver,以便它从您的控制器生成JSON

    $.post("/restaurant", {id:1}, function(data){
       /* Write the json returned in the data parameter
          to the user interface by creating dynamic HTML
        */  
    });
    

    涵盖了设置您正试图执行的操作的所有步骤。

    谷歌中没有帮助您的内容?例如,谷歌中没有帮助您的内容?例如
    $("#theSelect").load("/restraunt");