`
kisseveryone
  • 浏览: 198177 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

关于struts action 提交2次的问题 ---继续

 
阅读更多
  ,
说的不如给你们看
一:接口BO  DmOrderPriceImpl
public List queryChargeType(int priceId) {
// TODO 自动生成方法存根

return this.dmOrderPriceDao.queryDmChargeType(priceId);
}
二:接口 Dao DmOrderPriceDaoImpl
         public List queryDmChargeType(int priceId) {
// TODO 自动生成方法存根
String hql="from DmChargeType as d left join fetch d.dmOrderPrice as dp where dp.id="+priceId;
return this.hibernateTemplate.find(hql);
}
三:配置文件
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
    Mapping file autogenerated by MyEclipse - Hibernate Tools
-->
<hibernate-mapping>
    <class name="com.superman.model.DmChargeType" table="dm_chargeType" catalog="sanco_superman">
        <id name="id" type="java.lang.Integer">
            <column name="id" />
            <generator class="identity" />
        </id>
        <many-to-one name="dmOrderPrice" class="com.superman.model.DmOrderPrice" fetch="select">
            <column name="dm_priceId" />
        </many-to-one>
        <property name="max" type="java.lang.Integer">
            <column name="max" />
        </property>
        <property name="min" type="java.lang.Integer">
            <column name="min"  />
        </property>
        <property name="cost" type="java.lang.Float">
            <column name="cost" precision="9" scale="3" />
        </property>
    </class>
</hibernate-mapping>
主键表:
<hibernate-mapping>
    <class name="com.superman.model.DmOrderPrice" table="dm_order_price" catalog="sanco_superman">
        <id name="id" type="java.lang.Integer">
            <column name="id" />
            <generator class="identity" />
        </id>
        <property name="price" type="java.lang.Float">
            <column name="price" precision="9" scale="3" />
        </property>
        <set name="dmChargeTypes" inverse="true">
            <key>
                <column name="dm_priceId" />
            </key>
            <one-to-many class="com.superman.model.DmChargeType" />
        </set>
    </class>
</hibernate-mapping>

struts.config
<form-bean name="dmOrderPriceForm" type="com.sanco.supperman.struts.form.DmOrderPriceForm" />
<action
      attribute="dmOrderPriceForm"
      name="dmOrderPriceForm"
      parameter="method"
      path="/xwfbadmin/admin/manage/dmManager/addChargeType"
      scope="request"
      type="com.sanco.supperman.struts.action.AddChargeTypeAction">
      <forward name="init" path="/xwfbadmin/admin/manage/dmManager/addChargeType.do?method=init" />
      <forward name="success" path="/xwfbadmin/admin/manage/dmManager/dmChargeType_add.jsp" />
    </action>
四:页面
提交过来的页面(没有javascript --|||,这我还是晓得看的)
<%@ page language="java" pageEncoding="gbk"
contentType="text/html; charset=gbk"%>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>提成折扣设置</title>
</head>
<body>
<form action="addDmprice.do" method="post" name="form1">
<table align="center">

   <tr>
     <td>价格:</td><td><input type="text" name="price" /></td>
   </tr>
   <tr>
     <td><input type="submit" value="添加价格" /></td>
   </tr>
</table>
</form>
<logic:present name="emplist" scope="request">
<table width="500" align="center">
  <tr>
    <td background="#fffff">编号</td>
    <td background="#fffff">价格</td>
    <td background="#fffff">操作</td>
  </tr>
  <logic:iterate id="emp" name="emplist" scope="request">
  <tr>
     <td>
        <bean:write name="emp" property="id" />
     </td>
     <td> <bean:write name="emp" property="price" /></td>
     <td><a href="updateOrderPrice.do?id=<bean:write name="emp" property="id" />&price=<bean:write name="emp" property="price" />" >修改</a>|<a href="addChargeType.do?method=init&id=<bean:write name="emp" property="id" />" >设定折扣区间</a></td>
  </tr>
  </logic:iterate>
</table>
</logic:present>
</body>
</html>
显示成功的页面
<%@ page language="java" pageEncoding="gbk"
contentType="text/html; charset=gbk"%>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>提成折扣设置</title>
<style type="text/css">
<!--
body,td,th {
font-family: 宋体;
font-size: 12px;
}

body {
margin-left: 0px;
margin-top: 20px;
margin-right: 0px;
margin-bottom: 20px;
}
-->
</style>
</head>
<body>
<form action="addChargeType.do?method=add&id=${priceId}" method="post" name="form1">
<table align="center">
<input type="hidden" name="id" value="${priceId}" />
   <tr>
     <td>最大份数:</td><td><input type="text" name="max" /></td>
   </tr>
   <tr>
     <td>最小份数:</td><td><input type="text" name="min" /></td>
   </tr>
   <tr>
     <td>区间折扣:</td><td><input type="text" name="cost" /></td>
   </tr>
   <tr>
     <td><input type="submit" value="设置折扣区间" /></td>
   </tr>
</table>
</form>
<logic:present name="emplist" scope="request">
<table width="500" align="center">
  <tr>
    <td background="#fffff">编号</td>
    <td background="#fffff">最大份数</td>
    <td background="#fffff">最小份数</td>
    <td background="#fffff">区间折扣</td>
    <td background="#fffff">价格</td>
    <td background="#fffff">操作</td>
  </tr>
  <logic:iterate id="emp" name="emplist" scope="request">
  <tr>
     <td>
        ${emp.id}
     </td>
     <td> <bean:write name="emp" property="max" /></td>
     <td>${emp.min}</td>
     <td>${emp.cost}</td>
     <td>${emp.dmOrderPrice.price}</td>
     <td><a href="addChargeType.do?method=delete&typeid=${emp.id}&priceid=${priceId}">删除</a></td>
  </tr>
  </logic:iterate>
</table>
</logic:present>
</body>
</html>
五:action
public class AddChargeTypeAction extends DispatchAction {
/*
* Generated Methods
*/
    private Object getBean(String name)
    {
    return MyBeanDelegate.getInstance().getBean(name);
    }
    private IDmOrderPriceBo dmOrderPriceBo=(IDmOrderPriceBo)getBean("dmOrderPricebo");
/**
* Method execute
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
*/
public ActionForward init(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
DmOrderPriceForm dmOrderPriceForm = (DmOrderPriceForm) form;// TODO Auto-generated method stub
//查询所有这个价格的折扣区间
String id=request.getParameter("id");

List list=null;
list=dmOrderPriceBo.queryChargeType(Integer.valueOf(id)); request.setAttribute("emplist", list);
request.setAttribute("priceId", id);

return mapping.findForward("success");
}
}

-----------------------------------------------------------------

我页面上是用的EL表达式打出来的,去掉也好了,不知道EL为什么不行??完全没得道理。
能够看出原因的,我称他为神,女的就以身相许!

分享到:
评论

相关推荐

    Struts2防止重复提交解决方案

    在Struts2中,防止重复提交是一个重要的问题,因为它可能导致数据不一致性和服务器资源的浪费。本文将详细介绍如何在Struts2中解决这个问题,以及相关的技术概念。 首先,我们要理解Struts2中的拦截器(Interceptor...

    简单Struts2实例开发

    - 安装并配置好服务器(如Tomcat),部署你的Web项目,然后在浏览器中访问`hello.jsp`页面,输入姓名并提交,Struts2框架会根据配置处理请求,调用`StrutsAction`的`execute()`方法,并根据返回的结果展示相应的...

    Struts2自定义拦截器实现防止重复提交

    Struts2默认提供了一些拦截器来帮助处理这个问题,但如题目所述,由于性能考虑,项目组决定不使用Struts2的标签,因此需要自定义拦截器来实现防止重复提交的功能。 自定义拦截器的实现主要分为以下几个步骤: 1. *...

    Struts2防止重复提交的解决方案

    ### Struts2防止重复提交的解决方案 #### 一、引言 在Web应用程序开发中,一个常见的问题是如何有效地防止表单的重复提交。这不仅能够提高用户体验,还能增强系统的安全性。Struts2作为一款广泛使用的Java Web应用...

    struts2 拦截器(AOP,面向切面编程)

    **Struts2 拦截器**是在Action执行前后插入的代码片段,它们按照定义的顺序组成一个拦截器链。每个拦截器都有机会处理请求,决定是否允许Action执行,以及如何处理Action的返回结果。拦截器可以用于数据校验、登录...

    struts2课堂笔记

    2. **配置文件**:用于配置Struts2的运行参数,如Action的映射、拦截器的配置等,是Struts2框架正常工作的关键。 3. **动作类**:即Action类,用于处理具体的业务逻辑,是Struts2的核心部分之一。 4. **JSP**:用于...

    Struts2拦截器原理分析

    总结,Struts2拦截器是其核心特性之一,它增强了框架的功能性和灵活性,使得开发者能够更轻松地处理诸如数据校验、事务控制等常见问题。理解和掌握拦截器的原理和用法,对于提升Java Web开发的效率和代码质量具有...

    struts token机制解决表单重复提交

    Struts Token机制是一种防止表单重复提交的有效策略,尤其在处理关键操作时,如金融交易或数据修改,防止用户意外或恶意多次点击提交按钮导致的数据重复性问题。下面将详细介绍Struts Token的工作原理、实现方式及其...

    struts代码

    页面使用了Struts2的标签库,并通过`&lt;s:form&gt;`标签指定了表单提交的Action和编码方式为`multipart/form-data`,以支持文件数据的传输。 ```jsp &lt;s:form action="multiFileUpload" method="post" enctype="multipart...

    struts2登录权限

    - 页面通过`&lt;s:form&gt;`标签定义了表单元素,它与Struts2的Action进行交互。 - `action`属性指定了提交表单时要调用的Action类。 - `name`属性为输入字段命名,这些字段在服务器端会被Action类的相应属性绑定。 - ...

    我的笔记:Struts构架中action的跳转大全

    这意味着当用户提交表单时,第一个Action处理请求,并可能将控制权传递给第二个Action,后者继续使用同一个表单对象进行后续处理。 ### 总结 Struts框架中的Action跳转机制非常灵活,可以根据实际需求选择合适的...

    struts2中防止重复提交的方法

    在Struts2框架中,防止重复提交是一个重要的安全性考量,因为重复提交可能导致数据不一致性和资源浪费。在上述描述中,给出了三种主要方法来解决这个问题: 1) **使用 `&lt;s:token&gt;` 标签** Struts2 提供了一个称为 ...

    Struts2实现检查用户是否登录

    1. **登录验证**:用户提交登录表单时,Struts2的Action类会接收到这些数据。Action类负责验证用户名和密码的正确性,通常通过与数据库进行比较。如果验证成功,将登录信息存储到session中。 ```java public class ...

    struts2 简单数据校验

    - Struts2提供ActionError和FieldError对象来存储校验错误,它们会被自动映射到JSP页面上显示。 - 可以通过ActionSupport类的`addActionError`和`addFieldError`方法添加错误信息。 6. **实际应用示例**: - ...

    Struts2验证码用户登录

    Struts2框架提供了强大的MVC模型,使得Action类可以通过配置struts.xml文件与视图和控制器进行交互。在这个场景中,我们需要配置一个特定的Result类型,比如`stream`,来直接输出验证码图片的字节流。 在处理用户...

    struts2输入校验

    如果在这两个阶段都没有发现错误,Struts2会继续执行Action的`execute`方法,调用相应的业务逻辑。 为了实现基于代码的验证,你需要创建一个Action类,通常这个类会继承自`ActionSupport`。在该类中,你可以重写`...

    用struts2拦截器实现输入数据过滤前后空格

    Struts2是一个强大的MVC(模型-视图-控制器)框架,广泛应用于Java Web开发中。拦截器是Struts2框架中的一个重要概念,它允许开发者在动作执行前后插入自定义逻辑,比如数据验证、日志记录、性能监控等。在这个场景...

    解决Struts2中下载文件时点击取消按钮后台报错问题

    为了解决这个问题,我们需要在Struts2的Action类中正确地管理文件流。在处理文件下载时,应使用`ServletResponse`的`getOutputStream()`方法来获取输出流,然后通过这个流逐块写入文件内容。同时,我们需要监听...

    Struts2工作流程

    ### Struts2工作流程详解 #### 一、概述 Struts2是一个开源的Web应用程序框架,它是基于Java Servlet API设计...对于开发者而言,理解Struts2的工作流程不仅有助于更好地使用该框架,还能够提升解决实际问题的能力。

Global site tag (gtag.js) - Google Analytics