gpt4 book ai didi

java - 使用 Spring 和 Spring Roo 的多种形式

转载 作者:行者123 更新时间:2023-11-30 09:46:27 25 4
gpt4 key购买 nike

我正在学习如何使用 Spring 和 Spring Roo。我有一个场景,我希望能够在单个页面上处理多个表单。我的例子是有一个单一的页面,用户可以在单一页面上更新一个人的信息和地址。从数据的角度来看,这是两个不同的实体。

这是我的看法。

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<div xmlns:field="urn:jsptagdir:/WEB-INF/tags/form/fields" xmlns:form="urn:jsptagdir:/WEB-INF/tags/form" xmlns:jsp="http://java.sun.com/JSP/Page" version="2.0">
<jsp:directive.page contentType="text/html;charset=UTF-8"/>
<jsp:output omit-xml-declaration="yes"/>
<form:update id="fu_com_demo_demodb_Person" idField="personId" modelAttribute="person" path="/people" versionField="Version" z="lAv+o27QE4hkXQtPdKu/YDmF4fo=">
<field:simple field="addresses" id="c_com_demo_demodb_Person_addresses" messageCode="entity_reference_not_managed" messageCodeAttribute="Address" z="Qv+QHD5RorE8Zaf6FDT4MO0J55k="/>
<field:input field="firstName" id="c_com_demo_demodb_Person_firstName" z="vS8EgEHhso2KgUrCIomUBqF4QLI="/>
<field:input field="lastName" id="c_com_demo_demodb_Person_lastName" z="w0qweGLAQxRPJxxAehZxWpoaVsg="/>
<field:input field="middleName" id="c_com_demo_demodb_Person_middleName" z="5cuoVeM25fLeZP1PnBA/9Dh13xE="/>
</form:update>
<form:update id="fu_com_demo_demodb_Address" idField="addressId" modelAttribute="address" path="/addresses" versionField="Version" z="QH/Ew5OSBOxqFzEqNt6Y/qpjF8g=">
<field:select field="personId" id="c_com_demo_demodb_Address_personId" itemValue="personId" items="${people}" path="/people" z="ljx4bVEfoA3j/ChDMHPhkKZM4tc="/>
<field:input field="line1" id="c_com_demo_demodb_Address_line1" z="VzcJoyGz+Kg9YCf9RPzbQ7IYkbk="/>
<field:input field="line2" id="c_com_demo_demodb_Address_line2" z="FxoV1g01MRUJhNNHGyR2obbr1z8="/>
<field:input field="city" id="c_com_demo_demodb_Address_city" z="nFaz+RzSUsjxA6pj7O4p6K4Q+2U="/>
<field:input field="state" id="c_com_demo_demodb_Address_state" z="idFpXGWkGZvlVI/YOk46rXRu2ZA="/>
<field:input field="zipCode" id="c_com_demo_demodb_Address_zipCode" z="sKg1vzHjd5yi/EjhvwI1iXlVY7c="/>
</form:update>
</div>

我一直无法弄清楚的是如何创建一个可以正确处理上面 View 的 Controller 。我不确定如何处理 @RooWebScaffold 和 @RequestMapping。

如有任何建议或帮助,我们将不胜感激。谢谢。

最佳答案

最简单的方法是让 Roo 生成用于人员更新的 Controller 。然后从 Controller 类中的 ?_Roo_Controller.aj 文件复制创建的 Controller 方法(updateForm)(在 AspectJ 文件的大纲 View 中使用“插入”重构。)。

Roo 会识别并从 aj 文件中删除 updateForm 方法。

然后您可以根据需要增强该方法。


无论如何,对于您的 Two-Form-Page,您将离开 Roo 的支持。因此,让 roo 生成 Controller 类和 jspx,然后禁用 roo 对该 Controller 的支持可能会更好、更干净。 (运行“Push In”并删除 @RooWebScaffold 注释)Roo 将删除 ?_Roo_Controller.aj 文件。

但是不要删除@RequestMapping注解,它是Spring-MVC的一部分(不是Roo的)。

关于java - 使用 Spring 和 Spring Roo 的多种形式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7129950/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com