使用js或extjs访问对象的java列表

Access to java list of object and with js or extjs

本文关键字:java 列表 对象 访问 js extjs 使用      更新时间:2023-09-26

我想用javascript处理对象列表(我也可以在项目中使用extjs)。您可以看到,我的jsp中有两个列表(modelList和categoryList)由我的控制器转发。我想访问我的两个列表中的数据。有可能吗?

我的jsp:

<table class="form">
    <tr>
        <td class="label"><a class="required"></a><spring:message code="serviceModel.category" /></td>
        <td class="value">
                <form:select path="category" onchange="javascript:App.reloadUserNumberOnCategoryChangeForWorkflow(this, ${categoryList}, ${modelList}) ;App.removeError(this)>
                    <form:option label="" value="" />
                    <form:options items="${categoryList}" itemLabel="description" itemValue="description" />
                </form:select>
                <form:errors path="category" cssClass="errormsg" />
        </td>
    </tr>
    <tr>
        <td class="label"><a class="required"></a><spring:message code="service.userNumber" /></td>
        <td class="value">
                <form:select path="userNumber">
                    <form:option label="" value="" />
                    <form:options items="${modelList}" itemLabel="description" itemValue="description" />
                </form:select>
                <form:errors path="userNumber" cssClass="errormsg" />
        </td>
    </tr>
</table>

我的控制器:

uiModel.addAttribute(WebConstants.CATEGORY_LIST, catList);
uiModel.addAttribute(WebConstants.MODEL_LIST, modelList);

您可以创建一个JSON服务,将java对象转换为JSON数组,然后通过AJAX调用从服务器检索该列表。

Spring、Struts等已经构建了这样的方法,或者您可以使用一个好的"ol servlet"和一个JSON库(您应该能够在JSON.org上找到一个)来实现自己的功能

不直接,不

唯一可行的方法是使用View编写定义对象的JavaScript代码。

在你的情况下,它会像一样

<script type="text/javascript">
  <c:if test="${not empty modelList}">
    var modelList = [
      <c:forEach var="model" items="${modelList}">
        {
            description: '<c:out value="${model.description}"/>',
            otherProperty: '<c:out value="${model.otherProperty}">'
        },
      </c:forEach>
    ]
  </c:if>
</script>