Gwt 在运行时动态递增SafeThmlTemplates变量值

Gwt 在运行时动态递增SafeThmlTemplates变量值,gwt,Gwt,是否可以在运行时增加(或更改)接口的附加值?例如,整数用作变量,是否可以在添加变量后增加变量 假设我有一个安全的HtmlTemplates接口: public interface MyTemplate extends SafeHtmlTemplates { @Template("<div id=\"{0}\"></div>") SafeHtml temp(Integer id); } 公共接口MyTemplate扩展了安全HtmlTemplates{

是否可以在运行时增加(或更改)接口的附加值?例如,整数用作变量,是否可以在添加变量后增加变量

假设我有一个安全的HtmlTemplates接口:

public interface MyTemplate extends SafeHtmlTemplates {
    @Template("<div id=\"{0}\"></div>") 
    SafeHtml temp(Integer id);
}
公共接口MyTemplate扩展了安全HtmlTemplates{
@模板(“”)
安全HTML温度(整数id);
}
如果我使用它:

MyTemplate tpls = GWT.create(MyTemplate.class);

for (int i = 0; i < 2; i++) {
    tpls.temp(i);
}
MyTemplate tpls=GWT.create(MyTemplate.class);
对于(int i=0;i<2;i++){
tpls温度(i);
}
我会得到:

<div id="0"></div>
<div id="1"></div>

然而,我想得到:

<div id="1"></div>
<div id="2"></div>

通过在以某种方式添加{0}之后增加它(类似于
{0}+{offsetVariable}
,到目前为止,我认为这是不可能的(或者我只是不知道如何做)


有什么想法吗?

您可以使用以下帮助器类:

public class MyTemplateHelper implements MyTemplate {

    private MyTemplate tpls = GWT.create(MyTemplate.class);

    @Override
    public SafeHtml temp(Integer id) {
        return tpls.temp(id + 1);
    }
}
请注意,
MyTemplateHelper
可以实现
MyTemplate

比较用法:

MyTemplate tpls;

tpls = GWT.create(MyTemplate.class);    // original template class
for(int i = 0; i < 2; i++)
    tpls.temp(i);

//  you'll get:
//  <div id="0"></div>
//  <div id="1"></div>

tpls = new MyTemplateHelper();          // helper class
for(int i = 0; i < 2; i++)
    tpls.temp(i);

//  you'll get:
//  <div id="1"></div>
//  <div id="2"></div>
MyTemplate tpls;
tpls=GWT.create(MyTemplate.class);//原始模板类
对于(int i=0;i<2;i++)
tpls温度(i);
//您将获得:
//  
//  
tpls=新的MyTemplateHelper();//helper类
对于(int i=0;i<2;i++)
tpls温度(i);
//您将获得:
//  
//  

您可以使用以下帮助器类:

public class MyTemplateHelper implements MyTemplate {

    private MyTemplate tpls = GWT.create(MyTemplate.class);

    @Override
    public SafeHtml temp(Integer id) {
        return tpls.temp(id + 1);
    }
}
请注意,
MyTemplateHelper
可以实现
MyTemplate

比较用法:

MyTemplate tpls;

tpls = GWT.create(MyTemplate.class);    // original template class
for(int i = 0; i < 2; i++)
    tpls.temp(i);

//  you'll get:
//  <div id="0"></div>
//  <div id="1"></div>

tpls = new MyTemplateHelper();          // helper class
for(int i = 0; i < 2; i++)
    tpls.temp(i);

//  you'll get:
//  <div id="1"></div>
//  <div id="2"></div>
MyTemplate tpls;
tpls=GWT.create(MyTemplate.class);//原始模板类
对于(int i=0;i<2;i++)
tpls温度(i);
//您将获得:
//  
//  
tpls=新的MyTemplateHelper();//helper类
对于(int i=0;i<2;i++)
tpls温度(i);
//您将获得:
//  
//  

谢谢,这正是我一直在寻找的东西(现在你向我展示了它,这看起来很明显)谢谢,这正是我一直在寻找的东西(现在你向我展示了它,这看起来很明显)