我在Tag处理类中用pageContext.setAttribute("name1",name)的方法把name的值用变量name1输出到页面,我用写TagExtraInfo类使容器以脚本变量的形式提供给页面VariableInfo info = new VariableInfo("name2", "String", true,VariableInfo.AT_END); return new VariableInfo[] {info}; 这里我用了name2,请问在JSP页面中输出时是写name1还是name2呢?我这样写有问题吗?
请问setAttribute里的name1和VariableInfo的name2是怎么关联的?如果有多个输出变量,Web容器怎么知道哪个对应的是哪个呢?
请问setAttribute里的name1和VariableInfo的name2是怎么关联的?如果有多个输出变量,Web容器怎么知道哪个对应的是哪个呢?
请问setAttribute里的name1和VariableInfo的name2是怎么关联的?如果有多个输出变量,Web容器怎么知道哪个对应的是哪个呢?
你在标签中只设置了name1,在TagExtraInfo继承类中要用name1获得,像你说的那样用name2获得,如果有值,如果是对的,可能值是在别的域中设置的。
设置变量时最好设置作用域
pageContext.setAttribute("name1","名字",PageContext.PAGE_SCOPE);
对于标签实现类和TagExtraInfo实现类是怎样关联的,是在tld文件关联的。
<tag>
<name></name>
<tag-class>标签类</tag-class>
<tei-class>TagExtraInfo类</tei-class>
<body-content>JSP</body-content>
</tag>