public class ShangpinAction extends PageActionBase { public void onLoad() { String actiontype = request.getParameter("actiontype"); System.out.println("actiontype=" + actiontype); if (actiontype == null) return ; if(actiontype.equals("hasExist")){ hasExist(); } } private void hasExist() { String spno=request.getParameter("spno"); String strres="true"; if(DALBase.isExist("shangpin", "where spno='"+spno.trim()+"'")){ strres="false"; }else { strres="true"; } try { System.out.println("商品编号存在性="+strres); response.getWriter().write(strres); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } /******************************************************** ****************** 信息注销监听支持***************************** *********************************************************/ public void delete() { String id = request.getParameter("id"); DALBase.delete("shangpin", " where id=" + id); binding(); }每一行代码的解释

时间: 2023-08-12 16:09:27 浏览: 63
这段代码是一个Java类,名为ShangpinAction,继承了PageActionBase类。它包含了两个方法:onLoad()和hasExist(),还有一个delete()方法。 onLoad()方法中,首先获取了一个名为actiontype的参数,并将其打印输出。如果actiontype为空,则直接返回。如果actiontype的值为"hasExist",则调用hasExist()方法。 hasExist()方法中,首先获取了一个名为spno的参数。然后,通过DALBase.isExist()方法判断数据库表shangpin中是否存在商品编号为spno的记录。如果存在,则将返回结果设为"false",否则设为"true"。最后,将返回结果写入response中。 delete()方法中,首先获取一个名为id的参数。然后使用DALBase.delete()方法删除shangpin表中id为传入参数id的记录。最后调用binding()方法。
相关问题

public class UsersAction extends PageActionBase { public void onLoad() { String actiontype = request.getParameter("actiontype"); System.out.println("actiontype=" + actiontype); if (actiontype == null) return ; // 登录 if (actiontype.equals("login")) { login(); } if (actiontype.equals("exit")) { exit(); } } private void exit() { Object u = request.getSession().getAttribute("adminuser"); if (u != null) request.getSession().removeAttribute("adminuser"); try { request.getRequestDispatcher("/admin/login.jsp").forward(request, response); } catch (ServletException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }解释每一行代码

这段代码是一个 Java 类,名为 UsersAction,继承自 PageActionBase。该类定义了一个 onLoad() 方法,用于处理请求。下面是每一行代码的解释: 1. `public class UsersAction extends PageActionBase {` 定义一个公共类 `UsersAction`,继承自 `PageActionBase` 类。 2. `public void onLoad() {` 定义一个公共的无返回值的方法 `onLoad()`,用于处理请求。 3. `String actiontype = request.getParameter("actiontype");` 获取请求参数中名为 "actiontype" 的值,并将其赋值给 `actiontype` 变量。 4. `System.out.println("actiontype=" + actiontype);` 输出 `actiontype` 变量的值到控制台。 5. `if (actiontype == null) return ;` 如果 `actiontype` 变量的值为 null,直接返回。 6. `if (actiontype.equals("login")) { login(); }` 如果 `actiontype` 变量的值等于 "login",调用 `login()` 方法。 7. `if (actiontype.equals("exit")) { exit(); }` 如果 `actiontype` 变量的值等于 "exit",调用 `exit()` 方法。 8. `private void exit() {` 定义一个私有的无返回值的方法 `exit()`,用于退出登录。 9. `Object u = request.getSession().getAttribute("adminuser");` 获取当前会话中名为 "adminuser" 的属性,并将其赋值给 `u` 变量。 10. `if (u != null) request.getSession().removeAttribute("adminuser");` 如果 `u` 变量不为 null,则从当前会话中删除名为 "adminuser" 的属性。 11. `try { request.getRequestDispatcher("/admin/login.jsp").forward(request, response); }` 尝试将请求转发到路径为 "/admin/login.jsp" 的 JSP 页面。 12. `catch (ServletException e) { e.printStackTrace(); }` 捕获可能抛出的 ServletException 异常,并输出异常信息到控制台。 13. `catch (IOException e) { e.printStackTrace(); } }` 捕获可能抛出的 IOException 异常,并输出异常信息到控制台。

public class AlbumitemAction extends PageActionBase { @Override public void onLoad() { String actiontype = request.getParameter("actiontype"); System.out.println("actiontype=" + actiontype); if (actiontype == null) return; } public void delete() { String id = request.getParameter("id"); DALBase.delete("albumitem", " where id=" + id); binding(); } public void save() { String forwardurl = request.getParameter("forwardurl"); String errorurl = request.getParameter("errorurl"); String tupian = request.getParameter("tupian"); String albumid = request.getParameter("albumid"); SimpleDateFormat sdfalbumitem = new SimpleDateFormat("yyyy-MM-dd"); Albumitem albumitem = new Albumitem(); albumitem.setTupian(tupian == null ? "" : tupian); albumitem.setAlbumid(albumid == null ? "" : albumid); DALBase.save(albumitem); if (forwardurl == null) { forwardurl = "/admin/albumitemmanager.do?actiontype=get"; } try { response.sendRedirect(SystemParam.getSiteRoot() + forwardurl); } catch (Exception e) { e.printStackTrace(); } }翻译这段代码

这段代码是一个Java类,名为AlbumitemAction,继承了PageActionBase类。其中包括了三个方法:onLoad()、delete()和save()。 在onLoad()方法中,首先获取了名为“actiontype”的请求参数,然后打印出来。如果这个参数为null,则直接返回。 在delete()方法中,首先获取了名为“id”的请求参数,然后使用DALBase类中的delete()方法删除了“albumitem”表中id为该参数值的记录,最后调用了binding()方法。 在save()方法中,首先获取了名为“forwardurl”、“errorurl”、“tupian”和“albumid”的请求参数。然后创建了一个Albumitem对象,并分别将这些参数设置为对象的属性值。接着使用DALBase类中的save()方法将对象保存到数据库中。如果“forwardurl”参数为null,则设置默认值为“/admin/albumitemmanager.do?actiontype=get”。最后使用response对象的sendRedirect()方法将页面重定向到“forwardurl”参数指定的页面。如果发生异常,则打印出堆栈跟踪信息。

相关推荐

public class SupplyorAction extends PageActionBase{ @Override public void onLoad() { String actiontype = request.getParameter("actiontype"); System.out.println("actiontype=" + actiontype); if (actiontype == null) return ; } /******************************************************** 信息注销监听支持*********** *********************************************************/ public void delete() { String id=request.getParameter("id"); DALBase.delete("supplyor", " where id="+id); binding(); }public void save() { String forwardurl=request.getParameter("forwardurl"); //验证错误url String errorurl=request.getParameter("errorurl"); String sname=request.getParameter("sname"); String tel=request.getParameter("tel"); String lxren=request.getParameter("lxren"); String email=request.getParameter("email"); String address=request.getParameter("address"); String fax=request.getParameter("fax"); String des=request.getParameter("des"); SimpleDateFormat sdfsupplyor=new SimpleDateFormat("yyyy-MM-dd"); Supplyor supplyor=new Supplyor(); supplyor.setSname(sname==null?"":sname); supplyor.setTel(tel==null?"":tel); supplyor.setLxren(lxren==null?"":lxren); supplyor.setEmail(email==null?"":email); supplyor.setAddress(address==null?"":address); supplyor.setFax(fax==null?"":fax); supplyor.setDes(des==null?"":des); //产生验证 Boolean validateresult=saveValidate( "where sname='"+sname+"'"); if(validateresult){ try { request.setAttribute("errormsg","<label class='error'>已存在的供应商</label>"); request.setAttribute("supplyor", supplyor); request.setAttribute("actiontype", "save"); request.getRequestDispatcher(errorurl).forward(request, response); } catch (Exception e) { e.printStackTrace(); } return; } DALBase.save(supplyor); //保存附件 // attachments(request,response,new Integer(supplyor.getId()).toString()); if(forwardurl==null){ forwardurl="/admin/supplyormanager.do?actiontype=get"; } try { response.sendRedirect(SystemParam.getSiteRoot()+forwardurl); } catch (Exception e) { e.printStackTrace(); } } //新增验证 private boolean saveValidate(String filter){ return DALBase.isExist("supplyor解释每一行代码

public class SysconfigAction extends PageActionBase { @Override public void onLoad() { String actiontype = request.getParameter("actiontype"); System.out.println("actiontype=" + actiontype); if (actiontype == null) return; } /******************************************************** ****************** 信息注销监听支持***************************** / public void delete() { String id = request.getParameter("id"); DALBase.delete("sysconfig", " where id=" + id); binding(); } /**** **************** 保存动作监听支持****************************** / public void save() { String forwardurl = request.getParameter("forwardurl"); String title = request.getParameter("title"); String dcontent = request.getParameter("dcontent"); SimpleDateFormat sdfsysconfig = new SimpleDateFormat("yyyy-MM-dd"); Sysconfig sysconfig = new Sysconfig(); sysconfig.setTitle(title == null ? "" : title); sysconfig.setDcontent(dcontent == null ? "" : dcontent); DALBase.save(sysconfig); // 保存附件 try { response.sendRedirect(SystemParam.getSiteRoot() + "/admin/sysconfigmanager.do?actiontype=get&seedid=307"); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } / *********************** 更新内部支持************* / public void update() { String forwardurl = request.getParameter("forwardurl"); String id = request.getParameter("id"); if (id == null) return; Sysconfig sysconfig = (Sysconfig) DALBase.load(Sysconfig.class, new Integer(id)); if (sysconfig == null) return; Strpublic void update() { String forwardurl = request.getParameter("forwardurl"); String id = request.getParameter("id"); if (id == null) return; Sysconfig sysconfig = (Sysconfig) DALBase.load(Sysconfig.class, new Integer(id)); if (sysconfig == null) return; String title = request.getParameter("title"); String dcontent = request.getParameter("dcontent"); SimpleDateFormat sdfsysconfig = new SimpleDateFormat("yyyy-MM-dd"); sysconfig.setTitle(title); sysconfig.setDcontent(dcontent); DALBase.update(sysconfig); try { response.sendRedirect(SystemParam.getSiteRoot() + "/admin/sysconfigmanager.do?actiontype=get&seedid=307"); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } / *********************** 加载内部支持******************** *******************************************************/ public void load() { // String id = request.getParameter("id"); String actiontype = "save"; dispatchParams(request, response); if (id != null) { Sysconfig sysconfig = (Sysconfig) DALBase.load("sysconfig", "where id=" + id); if (sysconfig != null) { request.setAttribute("sysconfig", sysconfig); } actiontype = "update"; request.setAttribute("id", id); } request.setAttribute("actiontype", actiontype); String forwardurl = request.getParameter("forwardurl"); System.out.println("forwardurl=" + forwardurl); if (forwardurl == null) { forwardurl = "/admin/sysconfigadd.jsp"; } try { request.getRequestDispatcher(forwardurl).forward(request, response); } catch (ServletException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch bl解释每一行代码

最新推荐

recommend-type

Java泛型的用法及T.class的获取过程解析

abstract public class BaseHibernateEntityDao&lt;T&gt; extends HibernateDaoSupport { private Class&lt;T&gt; entityClass; public BaseHibernateEntityDao() { entityClass =(Class) ((ParameterizedType) getClass() ....
recommend-type

【Unity精品插件】Easy Save v3.5.16 最新版

Easy Save:简化 Unity 游戏数据存储与加载 一、Easy Save 简介 Easy Save 是专门为 Unity 开发者设计的一款数据存储和加载工具。它旨在简化数据保存和恢复的过程,使开发者能够专注于游戏的核心逻辑,而不必在数据管理上花费过多的精力。 二、主要特点 (一)多种数据类型支持 支持几乎所有常见的数据类型,包括整数、浮点数、字符串、数组、字典、自定义类等。 例如,可以轻松保存玩家的得分、等级、装备信息以及游戏中的各种配置参数。 (二)简单易用的 API 提供了简洁直观的 API 接口,只需几行代码就能实现数据的保存和加载。 (三)跨平台兼容性 能够在不同的平台上(如 Windows、Mac、Android、iOS 等)保持一致的性能和功能,确保玩家在不同设备上的游戏体验连贯。 (四)加密选项 提供数据加密功能,保障玩家数据的安全性和隐私性。
recommend-type

构建Cadence PSpice仿真模型库教程

在Cadence软件中,PSPICE仿真模型库的建立是一个关键步骤,它有助于用户有效地模拟和分析电路性能。以下是一份详细的指南,教你如何在Cadence环境中利用厂家提供的器件模型创建一个实用的仿真库。 首先,从新建OLB库开始。在Capture模块中,通过File菜单选择New,然后选择Library,创建一个新的OLB库文件,如lm6132.olb。接下来,右键点击新建的库文件并选择NewPart,这将进入器件符号绘制界面,用户需要根据所选器件的特性绘制相应的符号,并在绘制完成后保存并关闭编辑窗口。 接着,要建立OLB库与LIB库之间的关联。在File选项卡中,找到需要添加模型的元件文件夹,右键选择AssociatePspiceModel,选择对应的LIB文件路径。在这个过程中,可能会遇到端点编号匹配的问题。可以通过查看LIB文件中的端点信息,理解其含义,然后在DefinePinMapping窗口中设置每个SymbolPin的正确对应关系,确保模拟时信号传输的准确性。 仿真环境的设置同样重要。在File中选择要仿真的DSN设计文件,然后在Pspice菜单中新建或编辑Simulation Profile。配置时,特别关注与LIB库相关的设置。在ConfigurationFiles标签下的Library类别中,选择包含所需模型的LIB文件路径,并将其添加到Design或Global范围内。如果存在默认的nom.lib库(全局库),确保它包含了必要的库文件。 如果在建立库之前DSN文件中已包含设备,可能需要更新DesignCache以反映新添加的模型。这可以通过清理并重新加载设计来完成,以确保所有仿真数据的同步。 总结来说,建立PSPICE仿真模型库涉及到从创建新的OLB库到关联实际器件模型,再到设置合适的仿真环境参数。这一步骤不仅有助于提高电路设计的精确性,还能加速后续的仿真分析工作。熟练掌握这一过程,对于提升工程效率和电路设计质量至关重要。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实时分析可视化:工具、技术与应用揭秘

![实时分析可视化:工具、技术与应用揭秘](https://tiiny.host/blog/assets/images/plotly-js-01.jpg) # 1. 实时分析可视化概述 在当今数据驱动的业务环境中,能够实时分析和可视化数据变得至关重要。随着数据量的爆炸性增长和对快速决策的需求日益增加,企业必须采用实时分析可视化技术,以便更快地洞察和响应市场变化。实时分析可视化不仅帮助我们理解过去和现在,更是预测未来的关键。 ## 实时分析可视化的基本要素 实时分析可视化依赖于以下三个基本要素: 1. **数据源**:数据的采集来源,如物联网设备、在线服务、社交媒体等。 2. **数据处理*
recommend-type

编写python程序,要求模拟扔骰子游戏。要求扔n次,统计各点数的次数与概率。

要编写一个模拟扔骰子游戏的Python程序,可以通过以下步骤实现: 1. 导入必要的模块,例如`random`模块用于生成随机数,`collections`模块中的`Counter`类用于统计点数出现的次数。 2. 创建一个函数来模拟扔一次骰子,返回1到6之间的随机点数。 3. 在主程序中,设置扔骰子的次数`n`,然后使用循环来模拟扔`n`次骰子,并记录每次出现的点数。 4. 使用`Counter`来统计每个点数出现的次数,并计算每个点数出现的概率。 5. 打印每个点数出现的次数和概率。 下面是一个简单的代码示例: ```python import random from collect
recommend-type

VMware 10.0安装指南:步骤详解与网络、文件共享解决方案

本篇文档是关于VMware 10的安装手册,详细指导用户如何进行VMware Workstation 10.0的安装过程,以及解决可能遇到的网络问题和文件共享问题。以下是安装步骤和相关建议: 1. **开始安装**:首先,双击运行VMware-workstation-full-10.0.0-1295980.exe,启动VMware Workstation 10.0中文安装向导,进入安装流程。 2. **许可协议**:在安装过程中,用户需接受许可协议的条款,确认对软件的使用和版权理解。 3. **安装类型**:推荐选择典型安装,适合大多数用户需求,仅安装基本功能。 4. **安装路径**:建议用户根据个人需求更改安装路径,以便于后期管理和文件管理。 5. **软件更新**:安装过程中可选择不自动更新,以避免不必要的下载和占用系统资源。 6. **改进程序**:对于帮助改进VMwareWorkstation的选项,用户可以根据个人喜好选择是否参与。 7. **快捷方式**:安装完成后,会自动生成VM虚拟机的快捷方式,方便日常使用。 8. **序列号与注册**:安装过程中需要输入购买的序列号,如果找不到,可以借助附带的注册机vm10keygen.exe获取。 9. **安装完成**:完成所有设置后,点击安装,等待程序完整安装到电脑上。 **网络问题**:建议用户采用NAT网络连接方式,以简化网络配置和提高虚拟机的网络性能。链接地址为<http://wenku.baidu.com/link?url=PM0mTUKKr6u1Qs1fsomBzYY_sJutMwz1upPelsdvgnD6lj06dfqa1EWFGEJ63OxLS_LESe8JXMDZ8520BEGZtJFc_YnX1tV6jV0Fmu-4MBi>,如有疑问或问题,可参考此资源。 **文件共享**:对于文件传输,个人习惯使用共享方式,通过链接<http://wenku.baidu.com/link?url=BRr7PXLnX9ATDoNBk1alKPsjWRfFlep_QqikwF_UNw23tvtUEGd0onprLQeb3sKhquf6bInlueBhgdJHggo0eP_jIZsi7l0Wr072Z1p56ty>获取相关教程或下载工具,以实现虚拟机与主机之间的文件共享。 以上就是VMware 10的安装指南和常见问题解决方案,对于初次接触或者需要解决安装难题的用户来说,这份文档提供了详尽的操作步骤和实用建议。
recommend-type

"互动学习:行动中的多样性与论文攻读经历"

多样性她- 事实上SCI NCES你的时间表ECOLEDO C Tora SC和NCESPOUR l’Ingén学习互动,互动学习以行动为中心的强化学习学会互动,互动学习,以行动为中心的强化学习计算机科学博士论文于2021年9月28日在Villeneuve d'Asq公开支持马修·瑟林评审团主席法布里斯·勒菲弗尔阿维尼翁大学教授论文指导奥利维尔·皮耶昆谷歌研究教授:智囊团论文联合主任菲利普·普雷教授,大学。里尔/CRISTAL/因里亚报告员奥利维耶·西格德索邦大学报告员卢多维奇·德诺耶教授,Facebook /索邦大学审查员越南圣迈IMT Atlantic高级讲师邀请弗洛里安·斯特鲁布博士,Deepmind对于那些及时看到自己错误的人...3谢谢你首先,我要感谢我的两位博士生导师Olivier和Philippe。奥利维尔,"站在巨人的肩膀上"这句话对你来说完全有意义了。从科学上讲,你知道在这篇论文的(许多)错误中,你是我可以依
recommend-type

大规模数据实时分析:技术、工具与案例研究

![大规模数据实时分析:技术、工具与案例研究](https://daxg39y63pxwu.cloudfront.net/images/blog/spark-streaming-example/image_795716530101640689003007.png) # 1. 大规模数据实时分析概述 在当今的数据驱动时代,实时分析已经成为IT行业的一个关键能力。它涉及到快速地从大量数据中提取有用信息,并用于各种应用场景,包括但不限于交易、监控、交通管理等。实时分析不仅仅是对数据的快速反应,它还要求对数据流进行持续监控,并实时提供有意义的洞察。 随着技术的进步,现在有了更多可行的解决方案,无论
recommend-type

电商近七日复购率计算sql

在数据库中计算电商近七日复购率,通常需要关注特定日期范围内的购买记录,特别是客户的重复购买行为。复购率可以理解为在一定时间范围内,再次购买的客户数量占总购买客户数量的比例。以下是一个简化的SQL示例,用于计算近七日复购率: ```sql WITH FirstPurchase AS ( SELECT user_id, MIN(purchase_date) AS first_purchase_date FROM purchases WHERE purchase_date >= CURRENT_DATE - INTERVAL '7 days' GROUP BY us