《一步一步学Grails(8):添加材料费与物料表功能》 在Grails框架下构建Web应用的过程中,用户交互的界面设计与数据管理是关键环节。本篇教程将带领你逐步实现一个允许用户录入“材料费”以及查看和编辑“物料表”的功能。 我们会在“列表”页面增加一个“材料费”的入口。通过添加以下代码,创建一个链接让用户可以跳转到录入材料费的页面: ```html <span class="menuButton"><g:link class="doc" action="index" controller="materialCost">材料费</g:link></span> ``` 当用户点击这个链接时,系统会调用`MaterialCostController`中的`index`动作,允许用户录入相关费用。 接着,为了让用户能编辑“物料表”,我们在“生产计划”列表页面上添加一个链接。这段代码检查是否存在对应的生产计划,并在找到时生成链接: ```html <g:if test="${productionNoInstance.findPlan()}"> ... <g:link controller="planning" action="materialList" id="${productionNoInstance.findPlan().id}">物料表</g:link> ... </g:if> ``` 这里的`g:link`标签用于创建链接,指向`PlanningController`的`materialList`动作,并传入生产计划的ID作为参数。 现在,我们需要在`PlanningController.groovy`中定义`materialList`动作。该动作负责获取指定ID的生产计划实例,如果找不到,将会显示错误并重定向回列表页面: ```groovy def materialList = { def planningInstance = Planning.get( params.id ) if(!planningInstance) { flash.message = "Planning not found with id ${params.id}" redirect(action: 'list') } else { return [planningInstance: planningInstance] } } ``` 完成控制器的动作后,我们需要创建对应的视图页面。在`grails-app/views/planning`目录下新建`materialList.gsp`,展示物料表信息,包括产品编号、计划编号等,并提供编辑和删除功能: ```html <body> ... <h1>物料表</h1> <span style="color:#ff0066">[产品编号]:</span><g:link action="show" id="${planningInstance.id}">${planningInstance.productNo}</g:link> <span style="color:#ff0066">[计划编号]:</span>${planningInstance.id}<br/><br/> ... <table> ... <tbody> <g:each in="${planningInstance.materials}" status="i" var="m"> <tr class="${(i % 2) == 0 ? 'odd' : 'even'}"> <td>${m?.id}</td> <td>${m?.fee?.code}</td> <td>${m?.fee?.name}</td> <td>${m?.fee?.price}</td> <td>${m?.amount}</td> <td> <g:form controller="material" action="delete"> <input type="hidden" name="planningId" value="${planningInstance?.id}" /> <input type="hidden" name="id" value="${m?.id}"/> <span class="button"><g:submitButton name="delete" class="edit" value="删除"/></span> </g:form> </td> </tr> </g:each> </tbody> </table> ... </body> ``` 此视图使用`g:each`遍历生产计划中的物料,显示其ID、物料代码、类型、单价和数量,并为每个物料提供一个删除按钮。删除操作的实现需在`MaterialController`中添加对应的`delete`动作。 通过以上步骤,我们成功地构建了一个允许用户录入材料费并编辑物料表的Grails应用功能。这不仅展示了Grails如何处理控制器和视图间的交互,还体现了MVC模式在Web开发中的应用。理解并熟练掌握这些知识,将有助于你在Grails框架下开发更复杂的应用。




















- 粉丝: 5216
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 神经网络算法专题宣讲培训课件.ppt
- 商品房网上预销售管理系统操作手册一点智慧网络办公系样本.doc
- 网络营销概述课程.pptx
- 广西专业技术人员网络培训管理系统低碳经济试题及答案.doc
- 人性视域中的网络道德失范问题研究.doc
- java在线考试系统的设计与实现毕业设计.doc
- 计算机会计实践部分工资管理系统.ppt
- 家庭办公环境网络解决方案.doc
- 远古流媒体之企业网络电视台解决方案.doc
- 单片机的压力检测系统.doc
- 计算机用户管理与安全策略教材.pptx
- 2022年C语言大作业.docx
- 京东商城网络营销策略分析.doc
- 项目管理1(20211102054124)[最终版].pdf
- 中国移动通信电源资源命名规范.doc
- 智慧城市方案设计方法与思想样本.doc


