javascript - 使用PrototypeJs,如何异步加载jsp页面

标签 javascript ajax json templates prototypejs

我们在应用程序中使用 Spring 和 PrototypeJs。基本上我想要一个模板页面,然后用一些值填充模板页面。我找到了 JQuery.load 方法,但我们没有使用 JQuery。

我发现的最接近的是原型(prototype)模板对象,它只是一个字符串。我可以用 Javascript 制作一个模板,如下所示:

var template1 = new Template("user id: #id name is <span class name='userName'>#name</span>");

然后一旦我将所有数据作为 json 填充空白,但这还不够。我想显示标签等并且更复杂,理想情况下只需加载此模板文件一次,然后稍后填写值即可。不使用backbone.js 或angularjs 是否有可能?

我想我的问题是,如何更好地构建页面?目前,我正在使用 javascript 创建整个页面(例如 new Element("div").addClassName("something")),因此我希望在 jsp 或其他表单中创建页面"template",然后填写空格。

我有所有要在页面上显示为 json 的数据。

最佳答案

Template 类对于创建其成员的方式非常灵活。为了便于阅读,我要做的是将模板编码为 HTML 中的实际页面元素,然后在页面加载时将其删除,然后再使用它填充 JSON。

<div id="template-1" class="#{classname}">
  <h1>#{headline}</h1>
  <p>#{description}</p>
</div>
<div id="articles"></div>

<script type="text/javascript">
var tmp = $('template-1').remove();
tmp.writeAttribute('id',false);
var template = new Template(tmp.outerHTML);
// do whatever with it
$('articles').insert(template.evaluate(myJSON));
</script>

这应该可以帮助你开始。以这种方式工作的主要好处是,您不必不断地使用反斜杠引号并将所有内容写在一行中,或者将其与 + 号组合在一起。

关于javascript - 使用PrototypeJs,如何异步加载jsp页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21241678/

相关文章:

javascript - 在 if 语句中使用 Javascript 对象变量

javascript - jQuery - 选择标签,然后选择带有文本的子标签,然后选择同级标签

javascript - 如何在Phantomjs中注入(inject)jquery(js)?

javascript - 根据文本长度动态更改元素的高度

asp.net - MS JSON 日期序列化和夏令时

java - 从 Restful Web 服务发送和接收 JSON 数据?

JavaScript - 导致 "unexpected token illegal"的动态脚本标记

php - 如何在 ajax url 中发布带空格的波斯语句

javascript - 使用ajax更新数量

jquery - 如何获取JSON数据名称