Struts2项目中可重用的组件/标记

时间:2011-12-09 07:36:00

标签: plugins struts2 custom-tag

我在我的项目中使用struts。我有一个想法是创建一个可重用的组件(可能是标签或插件,不确定),可以在同一网站的不同页面上使用,也可以在以后的新网站(项目)中导入。就像我想根据当前页面在网站的每个页面上显示民意调查一样。这个想法是它应该独立工作(使用一些属性文件进行数据库设置等),例如验证或在DB中保存民意调查结果,并在提交后显示结果等。

现在我的问题/问题是我应该使用什么,自定义标签/插件或什么?

我需要一步一步的说明,如果自定义标签然后步骤创建自定义标签或插件然后步骤创建插件,我们如何在其他项目中导入相同。如果可用,请提供参考资料:)。

由于 Krishan Babbar

1 个答案:

答案 0 :(得分:1)

Struts 2插件是一个JAR,它包含扩展,替换或添加到现有Struts框架功能的类和配置。 但您计划创建某种可重用的组件,您可以根据自己的需要使用它。

Strtuts2提供开箱即用的支持来创建这样的可重用组件。您有两个选择

  1. 您可以使用struts2组件标记<s:component>
  2. 这是关于它的细节 Struts2 component tag

    这是关于使用此组件的非常好的帖子

    Creating a UI comonent

    如果这不符合您的要求,您可以随时通过扩展org.apache.struts2.components.Component来创建自定义组件

    以下是详细信息,因为这是创建可重用组件的基类。

    Component Struts2

    以下是如何创建组件的示例

    public class Hello extends Component {
        protected String name;
    
        public Hello(ValueStack stack) {
            super(stack);
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public boolean start(Writer writer) {
            try {
                writer.write("Hello " + name);
            } catch (IOException e) {
                e.printStackTrace();
            }
    
            return true;
        }
    
        public boolean end(Writer writer) {
            return true;
        }
    
        @Override
        public boolean usesBody() {
            return false;
        }
    }
    

    有关详细信息,请参阅此博客 Creating Custom Component in Struts2