上一篇
——2025年8月最新技术实践指南
尽管新兴框架层出不穷,2025年企业调研显示,Struts2凭借其稳定性和成熟度,仍在金融、电信等传统行业保持约18%的市场占有率,最新安全补丁(2.5.30版本)进一步强化了数据操作的安全性,使其成为处理敏感数据删除操作的可靠选择。
假设我们有一个用户管理系统,现在需要实现:
<!-- userList.jsp --> <s:form action="deleteUsers" method="post"> <table class="table"> <s:iterator value="userList"> <tr> <td><input type="checkbox" name="userIds" value="<s:property value='id'/>"/></td> <td><s:property value="username"/></td> </tr> </s:iterator> </table> <s:submit value="批量删除" cssClass="btn btn-danger"/> </s:form>
关键点说明:
name="userIds"
确保提交数组参数 <action name="deleteUsers" class="com.example.UserAction" method="deleteUsers"> <result name="success">/operationSuccess.jsp</result> <result name="error">/operationError.jsp</result> </action>
public class UserAction extends ActionSupport { private Integer[] userIds; // 必须与表单name一致 private UserService userService; // 业务层注入 public String deleteUsers() { try { if(userIds != null && userIds.length > 0) { userService.batchDelete(userIds); addActionMessage("成功删除 " + userIds.length + " 条记录"); return SUCCESS; } addActionError("请至少选择一条记录"); return ERROR; } catch (Exception e) { addActionError("删除失败:" + e.getMessage()); return ERROR; } } // getter/setter省略... }
@Service public class UserServiceImpl implements UserService { @Autowired private UserMapper userMapper; @Transactional public void batchDelete(Integer[] ids) { userMapper.deleteBatch(ids); } }
MyBatis映射文件关键片段:
<delete id="deleteBatch"> DELETE FROM t_user WHERE id IN <foreach collection="array" item="id" open="(" separator="," close=")"> #{id} </foreach> </delete>
CSRF防护:在struts.xml中启用token拦截器
<interceptor-ref name="token"/> <interceptor-ref name="defaultStack"/>
权限校验:通过自定义拦截器验证操作权限
public String deleteUsers() { if(!hasPermission("user:delete")) { return "noPermission"; } // ...原有逻辑 }
操作日志记录:
// 在Service层添加 AuditLog.log(currentUser, "DELETE_USER", "删除ID:" + Arrays.toString(userIds));
name
属性与Action属性名称完全一致 2025年值得关注的改进方向:
通过这套方案,我们不仅实现了基础删除功能,还构建了符合企业级应用要求的安全审计体系,实际开发中应根据具体业务需求调整实现细节,特别是涉及敏感数据删除时建议增加二次确认流程。
本文由 羿俊彦 于2025-08-01发表在【云服务器提供商】,文中图片由(羿俊彦)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vps.7tqx.com/wenda/507567.html
发表评论