中国开发网: 论坛: 程序员情感CBD: 贴子 381147
wynnhjg
这种类好奇怪呀.不像JAVA的写法.
package pageFlows.orderEntryWizard;

import OrderEntryServiceFolder.OrderInfo;
import com.avitek.commerce.CommerceCustomer;
import com.sap.evalguide.products.Product;
import com.bea.wlw.netui.pageflow.FormData;
import com.bea.wlw.netui.pageflow.Forward;
import com.bea.wlw.netui.pageflow.PageFlowController;
import com.bea.wlw.netui.pageflow.PageFlowUtils;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.*;

/**
* @jpf:controller nested="true"
* @jpf:view-properties view-properties::
* <!-- This data is auto-generated. Hand-editing this section is not recommended. -->
* <view-properties>
* <pageflow-object id="pageflow:/pageFlows/orderEntryWizard/OrderEntryController.jpf"/>
* <pageflow-object id="action:begin.do">
* <property value="60" name="x"/>
* <property value="160" name="y"/>
* </pageflow-object>
* <pageflow-object id="action:orderAgain.do#pageFlows.orderEntryWizard.OrderEntryController.AnotherOrderForm">
* <property value="180" name="x"/>
* <property value="220" name="y"/>
* </pageflow-object>
* <pageflow-object id="action:enterProductOrder.do#pageFlows.orderEntryWizard.OrderEntryController.EnterProductOrderForm">
* <property value="440" name="x"/>
* <property value="220" name="y"/>
* </pageflow-object>
* <pageflow-object id="action:show_orderDetails.do">
* <property value="320" name="x"/>
* <property value="80" name="y"/>
* </pageflow-object>
* <pageflow-object id="action-call:@page:Greeting.jsp@#@action:show_orderDetails.do@">
* <property value="196,240,240,284" name="elbowsX"/>
* <property value="71,71,71,71" name="elbowsY"/>
* <property value="East_1" name="fromPort"/>
* <property value="West_1" name="toPort"/>
* </pageflow-object>
* <pageflow-object id="page:Greeting.jsp">
* <property value="160" name="x"/>
* <property value="80" name="y"/>
* </pageflow-object>
* <pageflow-object id="action-call:@page:OrderResults.jsp@#@action:orderAgain.do#pageFlows.orderEntryWizard.OrderEntryController.AnotherOrderForm@">
* <property value="264,240,240,216" name="elbowsX"/>
* <property value="212,212,212,212" name="elbowsY"/>
* <property value="West_1" name="fromPort"/>
* <property value="East_1" name="toPort"/>
* </pageflow-object>
* <pageflow-object id="page:OrderResults.jsp">
* <property value="300" name="x"/>
* <property value="220" name="y"/>
* </pageflow-object>
* <pageflow-object id="action-call:@page:OrderDetails.jsp@#@action:enterProductOrder.do#pageFlows.orderEntryWizard.OrderEntryController.EnterProductOrderForm@">
* <property value="440,440,440,440" name="elbowsX"/>
* <property value="124,150,150,176" name="elbowsY"/>
* <property value="South_1" name="fromPort"/>
* <property value="North_1" name="toPort"/>
* </pageflow-object>
* <pageflow-object id="page:OrderDetails.jsp">
* <property value="440" name="x"/>
* <property value="80" name="y"/>
* </pageflow-object>
* <pageflow-object id="forward:path#success#Greeting.jsp#@action:begin.do@">
* <property value="60,60,92,124" name="elbowsX"/>
* <property value="116,72,72,72" name="elbowsY"/>
* <property value="North_1" name="fromPort"/>
* <property value="West_1" name="toPort"/>
* <property value="success" name="label"/>
* </pageflow-object>
* <pageflow-object id="exit:OrderEntryDone">
* <property value="60" name="x"/>
* <property value="220" name="y"/>
* </pageflow-object>
* <pageflow-object id="forward:return-action#no#OrderEntryDone#@action:orderAgain.do#pageFlows.orderEntryWizard.OrderEntryController.AnotherOrderForm@">
* <property value="144,120,120,96" name="elbowsX"/>
* <property value="212,212,212,212" name="elbowsY"/>
* <property value="West_1" name="fromPort"/>
* <property value="East_1" name="toPort"/>
* <property value="no" name="label"/>
* </pageflow-object>
* <pageflow-object id="forward:path#yes#begin.do#@action:orderAgain.do#pageFlows.orderEntryWizard.OrderEntryController.AnotherOrderForm@">
* <property value="180,180,138,96" name="elbowsX"/>
* <property value="176,152,152,152" name="elbowsY"/>
* <property value="North_1" name="fromPort"/>
* <property value="East_1" name="toPort"/>
* <property value="yes" name="label"/>
* </pageflow-object>
* <pageflow-object id="forward:path#success#OrderResults.jsp#@action:enterProductOrder.do#pageFlows.orderEntryWizard.OrderEntryController.EnterProductOrderForm@">
* <property value="404,370,370,336" name="elbowsX"/>
* <property value="212,212,212,212" name="elbowsY"/>
* <property value="West_1" name="fromPort"/>
* <property value="East_1" name="toPort"/>
* <property value="success" name="label"/>
* </pageflow-object>
* <pageflow-object id="forward:path#success#OrderDetails.jsp#@action:show_orderDetails.do@">
* <property value="356,380,380,404" name="elbowsX"/>
* <property value="71,71,71,71" name="elbowsY"/>
* <property value="East_1" name="fromPort"/>
* <property value="West_1" name="toPort"/>
* <property value="success" name="label"/>
* </pageflow-object>
* <pageflow-object id="control:OrderEntryServiceFolder.OrderEntryService#orderEntryService">
* <property value="48" name="x"/>
* <property value="35" name="y"/>
* </pageflow-object>
* <pageflow-object id="formbeanprop:pageFlows.orderEntryWizard.OrderEntryController.EnterProductOrderForm#productOrders#pageFlows.orderEntryWizard.OrderEntryController.ProductListing[]"/>
* <pageflow-object id="formbean:pageFlows.orderEntryWizard.OrderEntryController.EnterProductOrderForm"/>
* <pageflow-object id="formbeanprop:pageFlows.orderEntryWizard.OrderEntryController.AnotherOrderForm#moreOrders#java.lang.Boolean"/>
* <pageflow-object id="formbean:pageFlows.orderEntryWizard.OrderEntryController.AnotherOrderForm"/>
* <pageflow-object id="forward:path#error#OrderDetails.jsp#@action:enterProductOrder.do#pageFlows.orderEntryWizard.OrderEntryController.EnterProductOrderForm@">
* <property value="429,429,404,404" name="elbowsX"/>
* <property value="175,146,146,82" name="elbowsY"/>
* <property value="North_0" name="fromPort"/>
* <property value="West_2" name="toPort"/>
* <property value="error" name="label"/>
* </pageflow-object>
* </view-properties>
* ::
*
* @jpf:message-resources resources="validation.messages"
*/
public class OrderEntryController extends PageFlowController
{
/**
* @common:control
*/
private OrderEntryServiceFolder.OrderEntryService orderEntryService;





// Uncomment this declaration to access Global.app.
//
// protected global.Global globalApp;
//

// For an example of page flow exception handling see the example "catch" and "exception-handler"
// annotations in {project}/WEB-INF/src/global/Global.app

public CommerceCustomer curCustomer;
public String resultMessage;
private EnterProductOrderForm curForm;
public String currentUser;

/**
* This method represents the point of entry into the pageflow
* @jpf:action
* @jpf:forward name="success" path="Greeting.jsp"
*/
protected Forward begin()
{
currentUser = "john";

/*
if(getRequest().getUserPrincipal()!=null)
{
currentUser = getRequest().getUserPrincipal().getName();
}
else
{
currentUser = "Guest";
}
*/

resultMessage = new String("Sorry, order has not been placed");
return new Forward( "success");

}

/**
* @jpf:action
* @jpf:forward name="no" return-action="OrderEntryDone"
* @jpf:forward name="yes" path="begin.do"
*/
public Forward orderAgain(AnotherOrderForm form)
{

if (form.getMoreOrders().booleanValue()) return new Forward("yes");
else return new Forward( "no" );
}



/**
* @jpf:action
* @jpf:forward name="success" path="OrderResults.jsp"
* @jpf:validation-error-forward name="error" path="OrderDetails.jsp"
*/
protected Forward enterProductOrder(EnterProductOrderForm form)
{

FormParser helper = new FormParser();
OrderInfo newOrderInfo = helper.constructOrderObject(form);

int customerID = 1;
resultMessage = orderEntryService.createOrder(customerID,newOrderInfo);


return new Forward("success");
}

/**
* @jpf:action
* @jpf:forward name="success" path="OrderDetails.jsp"
*/
protected Forward show_orderDetails()
{
Product[] products = orderEntryService.getAllProducts();
curForm = new EnterProductOrderForm(products);
return new Forward( "success" );
}

public static class ProductListing implements java.io.Serializable
{
private Product product;
private int quantityOrdered;

public ProductListing( Product productInfo, int quantityOrdered )
{
this.product = productInfo;
this.quantityOrdered = quantityOrdered;
}

public Product getProduct()
{
return product;
}

public void setProduct( Product productInfo )
{
this.product = productInfo;
}

public int getQuantityOrdered()
{
return quantityOrdered;
}

public void setQuantityOrdered( int quantityOrdered )
{
this.quantityOrdered = quantityOrdered;
}
}



/**
* FormData get and set methods may be overwritten by the Form Bean editor.
*/
public static class EnterProductOrderForm extends FormData
{
private pageFlows.orderEntryWizard.OrderEntryController.ProductListing[] productOrders;

public EnterProductOrderForm()
{}

public EnterProductOrderForm(Product[] products)
{
ProductListing[] productOrders = new ProductListing[products.length];

for ( int i = 0; i < products.length; ++i )
{
productOrders[i] = new ProductListing( products[i], 0 );
}

this.setProductOrders( productOrders );
}


public void setProductOrders(pageFlows.orderEntryWizard.OrderEntryController.ProductListing[] productOrders)
{
this.productOrders = productOrders;
}

public pageFlows.orderEntryWizard.OrderEntryController.ProductListing[] getProductOrders()
{
return this.productOrders;
}

//Note: This reset method is only required in a form bean when it contains a member variable of a complex type

public void reset( ActionMapping mapping, HttpServletRequest request )
{
OrderEntryController jpf =
( OrderEntryController ) PageFlowUtils.getCurrentPageFlow( request );

productOrders = jpf.curForm.productOrders;
}

public ActionErrors validate( ActionMapping mapping, HttpServletRequest request )
{
ActionErrors errs = new ActionErrors();

boolean validOrder = false;

for (int i=0;i<productOrders.length;i++)
{
if (productOrders[i].getQuantityOrdered() > 0) validOrder = true;
}

if (!validOrder)
{
errs.add("nonorder",new ActionError("non-order"));
}
return errs;
}
}

/**
* FormData get and set methods may be overwritten by the Form Bean editor.
*/
public static class AnotherOrderForm extends FormData
{
private Boolean moreOrders;

public void setMoreOrders(Boolean moreOrders)
{
this.moreOrders = moreOrders;
}

public Boolean getMoreOrders()
{
return this.moreOrders;
}
}
}

相关信息:


欢迎光临本社区,您还没有登录,不能发贴子。请在 这里登录