将Angular js与taglib一起使用

时间:2012-09-14 15:34:05

标签: java javascript taglib angularjs

我正在使用Stripes MVC文本标记,但是如果我将Angular的ng-model添加到它中会出现异常,因为taglib显然不支持该属性。有没有人知道处理这种情况的最佳做法?

<s:text name="name" ng-model="yourName" />

1 个答案:

答案 0 :(得分:1)

我对Stripe的标签库不是很熟悉,但从我看到他们的文档(http://www.stripesframework.org/display/stripes/Tag+Library+Doc)可以看出Stripes MVC确实包含了他们的tld版本,你可以使用它们所谓的“动态”属性“:

  

然而,随着AJAX和JavaScript库的出现,它就是   有时希望在HTML标记中使用非HTML属性。为了   上述原因Stripes包含两个略有不同的TLD   可以使用。标准的不允许动态属性   在HTML标记中,应该在大多数情况下使用。第二个允许   动态属性。有可能(甚至建议)使用两种TLD   在一个页面中。这样做将允许在哪里使用标准库   可能,动态属性只有绝对的地方   必要。 E.g:

<%@ taglib prefix="s" uri="http://stripes.sourceforge.net/stripes.tld" %>
<%@ taglib prefix="d" uri="http://stripes.sourceforge.net/stripes-dynattr.tld" %>

<s:form action="/my/NewsSearch.action">
    <s:text name="keywords"/>
    <d:text name="publicationDate" dojoType="calendar"/>
    <s:submit name="search"/>
</s:form>

所以我想你应该简单地导入tlds的'动态'版本并像这样使用它:

<%@ taglib prefix="d" uri="http://stripes.sourceforge.net/stripes-dynattr.tld" %>

<d:text name="name" ng-model="yourName" />