1

在 Controller.java 我映射了一个对象msg

resultMap.put("msg", msg);

现在,我想使用 ajax 调用以 html 形式打印该方法的所有属性。我正在这样做。为html视图表单的每个字段设置一个id,然后给它们一个一个设置方法属性。

$.ajax(
...
...
function (data) {
        $('#name').text(data.msg.name); 
        $('#age').text(data.msg.age);
        $('#gender').text(data.msg.gender);
        $('#class').text(data.msg.class);
        .....
        .....
);

但是,在某些情况下,一个方法中可能有 20/30+ 个属性。真的很难在表单中为所有字段设置 id,然后在 ajax 中为它们设置方法值。

有没有办法直接把方法设置成ajax中的html视图形式?

4

1 回答 1

2

我不确定这是否适合您的需求,在这种情况下,我会使用像mustache.js这样的模板引擎。使用这个库,

<script>首先在要使用的 a 中定义一个 HTML 根元素,

<script id="template" type="x-tmpl-mustache">
    <ul>
        <li>NAME: {{name}}</li>
        <li>AGE: {{age}}</li>
        <li>GENDER: {{gender}}</li>
    </ul>
</script>

操作 this 的函数<ul>

function load() {
  var template = $('#template').html();
  Mustache.parse(template);
  var rendered = Mustache.render(template, {name: ajax_data, age: ajax_data, gender: ajax_data});
  $('#target').html(rendered);
}

您可以将此函数内容放在 ajax.success块中以访问data.msg.--属性。

于 2018-09-23T12:24:49.817 回答