Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/362.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.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
在JavaSpringMVC中如何迭代jstl列表以匹配条件_Java_Spring Mvc_Spring Boot_Jstl - Fatal编程技术网

在JavaSpringMVC中如何迭代jstl列表以匹配条件

在JavaSpringMVC中如何迭代jstl列表以匹配条件,java,spring-mvc,spring-boot,jstl,Java,Spring Mvc,Spring Boot,Jstl,我有一个jsp页面。我正在从spring控制器传递2个模型对象 资产(获取选定的资产) 资产(获取所有资产) 如果条件匹配,我想将选项设置为选中 我的代码 <table> <tr> <td>Asset Id :</td> <td> <form id="getAssetForm" method="get"> <select id="asset

我有一个jsp页面。我正在从spring控制器传递2个模型对象

  • 资产(获取选定的资产)
  • 资产(获取所有资产)
  • 如果条件匹配,我想将选项设置为选中

    我的代码

    <table>
        <tr>
            <td>Asset Id :</td>
            <td>
            <form id="getAssetForm" method="get">
                <select id="assetid" name="assetid" onchange="submitForm(this);">
                        <c:if test="${not empty assets}">
                            <c:forEach items="${assets}" var="assetsproperties">
    
                                <c:choose>                          
                                    <c:when test="${not empty asset}">
                                        <c:forEach items="${asset}" var="assetobj">
                                            <c:choose>                                          
                                                <c:when test="${assetobj.id} == ${assetsproperties.id}">
                                                    <option value="${assetobj.id}" selected>${assetobj.name}</option>                                          
                                                </c:when>
                                                <c:otherwise>
                                                    <option value="${assetsproperties.id}">${assetsproperties.name}</option>                                
                                               </c:otherwise>
                                           </c:choose>                                 
                                        </c:forEach>
                                    </c:when>
                                    <c:otherwise>
                                        <option value="${assetsproperties.id}">${assetsproperties.name}</option>                                
                                    </c:otherwise>
                                </c:choose>
    
                            </c:forEach>
                        </c:if>
                </select>               
            </form>
            </td>
        </tr>
        <tr>
            <td>Name :</td>
            <td><input type="text" name="assetname" value="<c:if test="${not empty asset}"><c:forEach items="${asset}" var="assetobj">${assetobj.name}</c:forEach></c:if>"></td>
        </tr>
        <tr>
            <td>Model Number :</td>
            <td><input type="text" name="assetmodelnumber" value="<c:if test="${not empty asset}"><c:forEach items="${asset}" var="assetobj">${assetobj.modelNumber}</c:forEach></c:if>"></td>
        </tr>
        <tr>
            <td>Rating (1 to 5 ):</td>
            <td><input type="text" name="assetrating" value="<c:if test="${not empty asset}"><c:forEach items="${asset}" var="assetobj">${assetobj.rating}</c:forEach></c:if>"></td>
        </tr>
        <tr>
            <td colspan="2" align="center"><input type="submit" name="Save" value="Update">
        </tr>
    </table>
    <script type="text/javascript">
      function submitForm(a){
          var e = document.getElementById("assetid");
          var assetid = e.options[e.selectedIndex].value;
          var assetnametxt = e.options[e.selectedIndex].text;         
          var assetnameElement = document.createElement("input");
          assetnameElement.type = "hidden";
          assetnameElement.name = "assetname";
          assetnameElement.value = assetnametxt;
    
          var form = document.getElementById('getAssetForm');
          form.appendChild(assetnameElement);
          form.setAttribute('action', "get-asset");
          form.submit();
    
      }
    </script>
    
    
    资产Id:
    ${assetobj.name}
    ${assetsproperties.name}
    ${assetsproperties.name}
    姓名:
    型号:
    评级(1至5):
    函数提交形式(a){
    var e=document.getElementById(“assetid”);
    var assetid=e.options[e.selectedIndex].value;
    var assetnametxt=e.options[e.selectedIndex].text;
    var assetnamelement=document.createElement(“输入”);
    assetnameElement.type=“隐藏”;
    assetnameElement.name=“assetname”;
    assetnameElement.value=assetnametxt;
    var form=document.getElementById('getAssetForm');
    form.appendChild(assetnameElement);
    form.setAttribute('action','get asset');
    表单提交();
    }
    
    这是我的控制器代码:

    @RequestMapping(value="/get-asset", method = RequestMethod.GET)
        public String showGetAssetPage(ModelMap model,
                @RequestParam("assetid") int assetid,
                @RequestParam("assetname") String assetname){
    
            System.out.println("inside showGetAssetPage() ");
            List<Asset> asset = service.getAsset(assetid, assetname);
            model.addAttribute("asset", asset);
    
            List<Asset> assets = service.getAssets();
            model.addAttribute("assets", assets);
    
            return "update-asset";
        }
    
    @RequestMapping(value=“/get asset”,method=RequestMethod.get)
    公共字符串showGetAssetPage(ModelMap模型,
    @assetid中的RequestParam(“assetid”),
    @RequestParam(“assetname”)字符串(assetname){
    System.out.println(“内部showGetAssetPage()”;
    List asset=service.getAsset(assetid,assetname);
    model.addAttribute(“资产”,资产);
    List assets=service.getAssets();
    model.addAttribute(“资产”,资产);
    返回“更新资产”;
    }
    
    我想在页面加载时显示所选资源。
    如何使用jstl匹配条件?

    您的资产模型中应该有一个布尔字段
    isSelected
    。在控制器中,在所有资产对象中设置
    isSelected
    属性。仅使用此选项,并选中可设置为已选定的属性