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>

后端代码:

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;
  }
}

将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'/> "/>

后端示例代码:

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;
  }
}

猜你喜欢

转载自blog.csdn.net/liaowenxiong/article/details/125634066
今日推荐