我想编写一个自定义的struts2标记,它有一个单独的动作类,可以从不同的jsp页面调用。

类似的东西:

<s:writetext type="aaa" parentid="xxx" parentname ="yyy" height ="50" width ="125" />

有可能吗?请帮助,我对此非常陌生并且谷歌搜索这没有帮助。

谢谢, 阿迪亚

有帮助吗?

解决方案

这个老问题本周在审查一些现有代码时对我也很重要。除了 tbruyelle的回答之外,这对我来说是最有用的参考:

http://bodez.wordpress.com/ 2009/03/13 /定制-struts2的-JSP的标签/

总结(1)

  1. 扩展现有标记(例如, org.apache.struts2.views.jsp.ui.TextFieldTag
  2. 扩展其行为(例如, org.apache.struts2.components.TextField
  3. 定义新主题和模板(例如,从 / core / src / main / resources / template 中的现有主题进行复制和编辑)
  4. 为自定义版本的taglib
  5. 生成新TLD
  6. 将其部署在Web应用程序中
  7. struts 2 API 也可能有所帮助。

    不幸的是(并且令人惊讶地),关于如何执行此操作的文档很少,并且现有struts组件的javadoc“有点稀缺”。和误导。也许它不打算以这种方式使用?


    备注

    (1)我在原帖后几年编辑了这个答案,添加了这个摘要,将答案与SO指南对齐。不幸的是,很长一段时间没有使用类似的代码,我不能确定保留链接博客的精髓,所以如果它仍然有用,请参考链接。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top