• Struts2参数值自动注入到JavaBean对象的属性中和JavaBean对象的属性值展示在页面中


    参数值自动注入

    注意事项:
    1.前端界面的表单项的参数命名格式为:Action属性名.JavaBean的属性名
    2.Action的属性必须要有setter/getter方法,注入时会调用setter方法

    示例代码

    前端代码:

    <form id="" action="modify" method="post">
                    <input type="hidden" name="project.id" value="${project.id}"/>
                    <table class="tableborder" cellSpacing="0" cellPadding="0" width="100%" border="0">
                        <tbody>
                        <tr class="header">
                            <td colSpan="3">
                                变更项目
                            </td>
                        </tr>
                        </tbody>
                        <tbody>
                        <tr>
                            <td class="altbg1" width="20%">
                                <b>编号:</b>
                            </td>
                            <td class="altbg2" valign="middle" width="20%">
                                <input type="text" name="project.code" value="${project.code}"/>
                            </td>
                            <td>
                                <span style="color: red"> </span>
                            </td>
                        </tr>
                        <tr>
                            <td class="altbg1" width="20%">
                                <b>名称:</b>
                            </td>
                            <td class="altbg2">
                                <input type="text" name="project.name" value="${project.name}"/>
                            </td>
                            <td>
                                <span style="color: red"> </span>
                            </td>
                        </tr>
                        <tr>
                            <td class="altbg1" width="20%">
                                <b>开始时间:</b>
                            </td>
                            <td class="altbg2">
                                <input type="date" name="project.startDate" value="${project.startDate}"/>
                            </td>
                            <td>
                                <span style="color: red"></span>
                            </td>
                        </tr>
                        <tr>
                            <td class="altbg1" width="20%">
                                <b>结束时间:</b>
                            </td>
                            <td class="altbg2">
                                <input type="date" name="project.endDate" value="${project.endDate}"/>
                            </td>
                            <td>
                                <span style="color: red"></span>
                            </td>
                        </tr>
                        </tbody>
                    </table>
                    <br/>
                    <center>
                        <input class="button" type="button" value="取消" onclick="goBack();"/>
                        <input class="button" type="button" value="恢复"/>
                        <input class="button" type="submit" value="提 交"/>
                    </center>
                </form>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64

    后端代码:

    package priv.lwx.pms.action;
    
    import priv.lwx.pms.dao.ProjectDAO;
    import priv.lwx.pms.entity.Project;
    
    /**
     * 修改项目信息
     *
     * @author liaowenxiong
     * @date 2022/7/5 09:32
     */
    
    public class ProjectModifyAction extends BaseAction {
      private Project project;
      private ProjectDAO projectDAO = new ProjectDAO();
    
      public String execute() {
        projectDAO.modify(project);
        return SUCCESS;
      }
    
      public Project getProject() {
        return project;
      }
    
      public void setProject(Project project) {
        this.project = project;
      }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29

    将JavaBean的属性值显示在页面上

    注意事项:
    可以通过el表达式来获取JavaBean的属性值
    可以通过Struts2标签+OGNL来获取JavaBean的属性值
    Action的属性必须要有getter方法

    示例代码

    前端示例代码:

    <%--通过EL表达式获取JavaBean的属性值--%>
    <input type="text" name="project.code" value="${project.code}"/>
    <%--通过Struts2标签+OGNL表达式来获取JavaBean的属性值--%>
    <input type="text" name="project.code" value="<s:property value='project.code'/> "/>
    
    • 1
    • 2
    • 3
    • 4

    后端示例代码:

    package priv.lwx.pms.action;
    
    import priv.lwx.pms.dao.ProjectDAO;
    import priv.lwx.pms.entity.Project;
    
    /**
     * description
     *
     * @author liaowenxiong
     * @date 2022/7/5 11:48
     */
    
    public class ProjectLoadAction extends BaseAction{
      private Project project;
      private ProjectDAO projectDAO = new ProjectDAO();
    
      public String execute() {
        project = projectDAO.findById(project.getId());
        return SUCCESS;
      }
    
      public Project getProject() {
        return project;
      }
    
      public void setProject(Project project) {
        this.project = project;
      }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
  • 相关阅读:
    SAP PI PO 接口常见问题处理:队列平衡的统计平均分配
    ptables基本语法使用规则
    五大靠谱的婚恋相亲APP详细特点缺点分析!
    Django基础之django模型层(一)单表操作
    网络PXE启动WinPE,支持UEFI和LEGACY引导
    [python]使用pyinstaller打包带界面的Pytorch程序的多个问题
    React源码解读之React Fiber
    Anaconda安装Pytorch+PyTorch-Geometric,并将虚拟环境添加到jupyter notebook
    [N0wayback 2023春节红包题] happyGame python反编译
    markdown 编辑器实现双屏同步滚动
  • 原文地址:https://blog.csdn.net/liaowenxiong/article/details/125634066