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 にはそのバージョンが含まれています。いわゆる「動的属性」の使用が許可されている tld:

ただし、AJAX および JavaScript ライブラリの出現により、HTML タグで HTML 以外の属性を使用することが望ましい場合があります。上記の理由により、Stripes には、使用可能なわずかに異なる 2 つの TLD が含まれています。標準のものは、HTML タグで動的属性を許可しないため、ほとんどの場合に使用する必要があります。2 つ目は、動的属性を許可します。1 つのページで両方の 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>

したがって、単にtldの「動的」バージョンをインポートして、次のように使用する必要があると思います。

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

<d:text name="name" ng-model="yourName" />
于 2012-09-14T22:23:30.590 に答える