【问题标题】:Accessing struts action methods from JSP从 JSP 访问 struts 动作方法
【发布时间】:2012-04-30 09:24:49
【问题描述】:

我在返回的 JSP 中从我的 struts 2 操作访问方法时遇到问题。据我了解,如果我的操作看起来像这样:

public class HomeAction {
    public String execute() {
        return "SUCCESS";
    }

    public String getSomething() {
        return "somethh";
    }
}

然后我应该能够从 JSP 调用 ${something} 并返回 "somethh"。然而,这似乎不能正常工作。有没有我可能错过的明显配置?我正在使用 struts 2、spring 3.1 和 tomcat 7。

【问题讨论】:

    标签: jsp struts2 struts


    【解决方案1】:

    我不确定您要做什么,因为您所问的内容非常抽象,并且总是更好地向您的 JSP 页面显示您正在尝试的地方 o 执行您所描述的事情,这样可以更好地了解其他。

    你需要告诉 S2 你希望它调用哪个方法,如果你没有定义任何方法默认是execute()

    在您的情况下,您可以通过使用配置文件 (struts.xml) 或注释之类的方式告诉 S2 您要调用哪个方法

    <action name="default" class="tutorial.HomeAction">
      <result>Welcome.jsp</result>
    </action>
    <action name="somethh" class="tutorial.HomeAction" method=getSomethh>
      <result>Welcome.jsp</result>
    </action>
    

    这里你必须配置不同的动作名称,比如&lt;s:url value="default.action"/&gt; and &lt;s:url value="somethh.action"/&gt;

    如果您想要相同的动作名称但想要重定向到动作类的不同方法,您可以在&lt;s:url&gt; 中配置方法名称,也喜欢

    <s:url value="generic.action" method="getSomethh">
    

    在上面的例子中,你已经通过标签告诉 S2 你想要调用你的动作类的哪个方法,以及你需要在你的 struts.xml 文件中配置它们

    【讨论】:

    • 我试图直接从 struts 中访问它返回的 jsp 中的方法。原来我已经设法搞砸了我的环境设置。
    【解决方案2】:

    原来是环境问题导致 struts 行为异常。它按我的预期工作,为这个模糊的问题道歉。

    【讨论】:

    • 考虑编辑您的问题以提及这一点,或者回答您所做的确切更改,如果您认为这可能会影响其他人,请接受您的回答。其他答案有帮助吗?如果是这样,请考虑为他们投票。
    【解决方案3】:

    你不能直接从jsp文件中调用方法。如果你这样做,那么为什么mvc.Struts2是一个非常简单的框架。你可以配置方法和类strutsconfig.xml。并用一个动作映射它。 实例变量可以直接在jsp中访问。例如如果你有一个方法

        public class ABCAction extends ActionSupport{
        public String getNames(){
    
        nameslist=dao.getNamelist();
        retrun "success";
        }
        //getters and setters for namelist
        public setNamesList(List nameslist){
        this.nameslist-namelist;
    
    }
    }
    public List getNames(){
    return this.nameslist;
    }
    }
    

    你可以直接在你的jsp中访问namelist--

    【讨论】:

    • 可以直接从jsp调用方法!我刚刚解决了环境问题,现在它正在按我的预期工作。还是谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-08
    • 1970-01-01
    • 1970-01-01
    • 2012-03-11
    • 2017-10-09
    相关资源
    最近更新 更多