我正在使用Stripes MVC文本标记,但是如果我将Angular的ng-model添加到它中会出现异常,因为taglib显然不支持该属性。有没有人知道处理这种情况的最佳做法?
<s:text name="name" ng-model="yourName" />
答案 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" />