参数值自动注入
注意事项:
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;
}
}