当前位置: 首页 > news >正文

wordpress做一个视频网站西宁网站建设费用

wordpress做一个视频网站,西宁网站建设费用,网站开发工具可视化,wordpress 商城站下载地址相关文章#xff1a; 多模式 Web 应用开发记录一背景全局变量优化多模式 Web 应用开发记录二自己动手写一个 Struts 开头先看一个简单的例子#xff0c;这是 ftl 文件的一个表单#xff1a; form idvalidateForm action# 多模式 Web 应用开发记录一背景全局变量优化多模式 Web 应用开发记录二自己动手写一个 Struts 开头先看一个简单的例子这是 ftl 文件的一个表单 form idvalidateForm action# methodpost div stylepadding: 10px 0; classft14处理信息/div table classinputTabletr th备注/thtd textarea cols10 rows3 namerepairVO.remark classformTextarea /textarea/td/tr/tablediv classbuttonArea idoptioninput classbtn btn-big actiondoProcess.action typesubmit value处理/input classbtn btn-big actiondoCancel.action typesubmit value取消/input typehidden namebizId value${(bizId)!}/input/div/form单看这个表单只会传递两个参数bizId 和 repairVO.remark。所以后端 Struts 的 Action 的成员属性会接收 remark private RepairVO repairVO;public String doProcess() {try {logger.info(repairVO{} , JsonUtils.toJsonString(repairVO));//...其他业务处理return SUCCESS;} catch (Exception e) {return ERROR;}}正常来说这里的 repairVO 应该只有 remark 属性有数据可我这里调试发现 repairVO 居然还有其他的属性也有值。 经过排查发现是因为 Action 里面对于 repairVO 有个特殊的 setter 方法 public void setRepairVO(RepairVO repairVO) {if(repairVOnull){repairVO new RepairVO();}if(repairVO.getId()null){repairVO.setId(this.getBizId());}repairVO.setOrgId(this.getAdmin().getOrgId());repairVO.setOperateTime(new Date());repairVO.setOperatorId(this.getAdmin().getId());repairVO.setOperatorName(this.getAdmin().getUsername());this.repairVO repairVO;}这是因为在 Struts2 中当一个 Action 被调用时Struts2 会尝试将 HTTP 请求的参数绑定到 Action 的属性。这个过程是通过调用 Action 的 setter 方法完成的。相当于这里对 repairVO 进行了预初始化属性。 这个原理其实也很容易理解在多模式 Web 应用开发记录二自己动手写一个 Struts中实现的 Struts 中是通过反射直接对属性进行赋值从而进行参数绑定 Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {String actionPath req.getPathInfo();if (actionPath.endsWith(.jsp)) {req.getServletContext().getNamedDispatcher(jsp).forward(req, resp);} else {Class? extends Action clazz actions.get(actionPath);if (clazz ! null) {Action action null;try {action clazz.newInstance();} catch (InstantiationException | IllegalAccessException e) {e.printStackTrace();}MapString, String[] paramMap req.getParameterMap();for (String paramName : paramMap.keySet()) {String[] paramValues paramMap.get(paramName);for (String paramValue : paramValues) {Field field;try {field clazz.getDeclaredField(paramName);if (field ! null) {field.setAccessible(true);field.set(action, paramValue);}} catch (Exception e) {}}}String view action.execute(req, resp);req.getRequestDispatcher(view).forward(req, resp);} else {resp.sendError(HttpServletResponse.SC_NOT_FOUND);}}}这里完全可以改成基于 setter 方法进行参数绑定那么就可以实现跟 Struts2 类似的“预初始化属性”机制。 那么在 Spring MVC 中如何实现呢可以直接使用 ModelAttribute 注解 ModelAttribute(repairVO)public RepairParam setup() {RepairParam repairVO new RepairParam();User currentUser getCurrentUser();repairVO.setOrgId(currentUser.getOrgId());repairVO.setOperateTime(new Date());repairVO.setOperatorId(currentUser.getId());repairVO.setOperatorName(currentUser.getUsername());return repairVO;}RequestMapping(doProcess.action)public String doProcess(RequestParam(bizId) String bizId, ModelAttribute(repairVO) RepairParam repairVO, Model model) {//...其他业务逻辑}这里 doProcess 函数的 repairVO 对象就包括 setup 函数的预初始化属性和请求中的 repairVO.xxx 属性。也就实现了预初始化属性的设置。 欢迎关注公众号
http://www.pierceye.com/news/355571/

相关文章:

  • 公司域名查询网站网页设计工具软件有哪些
  • 毕业设计网站建设选题依据设计公司网站应该包括的信息
  • wordpress 仪表板主题seo网站排名厂商定制
  • 网站建设成本报表wordpress缺点
  • 外贸建站选择哪个服务器好免费自动生成二维码
  • 建设部申请自己网站c 做网站设计
  • 软件制作网站网站维护合同模板
  • 那家财经网站做的好陕西网站建设公司哪有
  • 淄川网站建设中小型企业网站建设
  • phpcms 投资 网站源码wordpress主题网站
  • 聊城网站托管义乌外贸公司联系方式
  • 开发一个小程序对网站做综合搜索引擎优化分析
  • 网站开发自学网有哪些企业可以做招聘的网站有哪些
  • 网站怎么做百度推广网站开发者模式
  • 学校网站设计制作目的做网站推广方法
  • wordpress建站云平台小程序商城开发平台
  • pc网站转换成微网站网站建设开发哪家质量好
  • wordpress网站使用教程aspnet东莞网站建设多少钱
  • 网站地图提交给百度证券公司如何拉客户
  • 做外贸有哪些免费的网站win7优化大师好不好
  • 网站功能怎么写上海网站制作建设怎么样
  • 网站域名是网站架构吗成都网站搭建优化推广
  • 自己做的网站添加交费功能合肥有什么好的网站建设公司好
  • 做网站品牌龙岩新增病例行动轨迹
  • 任家房网站建设郑州百度网站推广
  • 深圳建设网站的公司简介WordPress多功能投稿
  • 简述织梦网站上传及安怎样在网站上做免费的推广
  • 关于信用体系建设的网站wordpress新闻类模板下载
  • 免费行情软件网站下载大全爱学校vi设计案例
  • 网站外包优化怎样做免费抽皮肤的网站