更好地理解Struts2操作
我正在努力学习Struts 2.0,并试图更好地理解操作的概念。我有一个表单,我希望预先加载值。用户可以更改JSP中的值,然后提交表单,这将导致一个页面显示表单中嵌入的数据 我已经让它工作了,但不确定我的方法/逻辑是否正确 Struts.xml如下所示:更好地理解Struts2操作,struts2,action,Struts2,Action,我正在努力学习Struts 2.0,并试图更好地理解操作的概念。我有一个表单,我希望预先加载值。用户可以更改JSP中的值,然后提交表单,这将导致一个页面显示表单中嵌入的数据 我已经让它工作了,但不确定我的方法/逻辑是否正确 Struts.xml如下所示: <action name="LoadForm" class="actions.Test" method="execute1"> <result>/Test.jsp</result> </action
<action name="LoadForm" class="actions.Test" method="execute1">
<result>/Test.jsp</result>
</action>
<action name="ShowResult" class="actions.Test" method="execute2">
<result>/TestResult.jsp</result>
</action>
/Test.jsp
/TestResult.jsp
我正在使用prepare()
预加载值
当我在浏览器中调用LoadForm.action
时,Test.jsp
显示预加载的数据
Test.jsp
有一个表单,其操作是ShowResult
当我提交表单时,它导航到TestResult.jsp
,在那里我显示表单中的值
这是正确的方法还是有更好的方法
另外,我不知道为什么我们需要在Action类中使用2个以上的execute方法。几乎你是对的,除了一件事你需要了解prepare方法类似于init方法,它可以帮助你在框架调用execute或任何其他方法之前初始化/准备数据 S2中的动作同时作为模型和控制器工作,很可能一个控制器正在执行多个任务。e、 g我们有一个行动,负责处理与用户相关的流程,包括
我希望这能给你一个想法谢谢你的回答。我还需要一个澄清。如何控制特定的execute方法何时运行?假设,根据您的示例,我将create()、update()、check()作为三个方法,每个方法都指向不同的JSP页面。我如何从表单中调用update()?一个简单的方法是从JSP中这样命名您的操作,比如说updateUser,以及何时将其映射到xml文件中,您可以使用方法标记,如。注释也提供了相同的方法,并且您可以在操作标记和url标记中使用方法属性also@DeepakMahalingam但您应该使用modalDriven拦截器将模态对象(最佳实践)与动作分开。