0

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

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

1 回答 1

1

我对 Stripe 的标签库不是很熟悉,但从我看到他们的文档(http://www.stripesframework.org/display/stripes/Tag+Library+Doc)来看,Stripes MVC 确实包含了他们的一个版本允许您使用所谓的“动态属性”的顶级域名:

然而,随着 AJAX 和 JavaScript 库的出现,有时希望在 HTML 标记中使用非 HTML 属性。由于上述原因,Stripes 包含两个可以使用的稍微不同的 TLD。标准的不允许在 HTML 标签中使用动态属性,应该在大多数情况下使用。第二个允许动态属性。可以(甚至推荐)在一页中使用两个 TLD。这样做将允许在可能的情况下使用标准库,并且仅在绝对必要的情况下使用动态属性。例如:

<%@ 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" />
于 2012-09-14T22:23:30.590 回答