WCS学习笔记(第七天) - 修改MyNewTaskCmd任务命令

来源:互联网 发布:阿里云手机备份 编辑:程序博客网 时间:2024/06/07 04:44

1. 修改task command接口和实现:
  a.WebSphereCommerceServerExtensionsLogic >src >com.ibm.commerce.sample.commands修改MyNewTaskCmd.java(java类可在IBM或前面教程获取)

/// Section 3 ////////////////////////////////////////////////  public void setFoundUserId(java.lang.String inputUserId);  public java.lang.String getFoundUserId();    public void setUserRegistryAccessBean(UserRegistryAccessBean rrb);  /// End of section 3//////////////////////////////////////////


  b. 修改WebSphereCommerceServerExtensionsLogic> src > com.ibm.commerce.sample.commands.MyNewTaskCmdImpl.java任务命令接口实现类:

        引入IBM用户类: 

/// Import section 1 ///////////////////////////////////////import com.ibm.commerce.user.objects.UserRegistryAccessBean///  End of Import section 1 ///////////////////////////////


      实现参数foundUserId和(UserRegistryAccessBean)rrb的get、set方法

//// Section 2A //////////////////////////////////////////////  private java.lang.String foundUserId = null;     private UserRegistryAccessBean rrb = null;   ////End of Section 2A ///////////////////////////////////////////// Section 2B //////////////////////////////////////////////      public void setUserRegistryAccessBean(UserRegistryAccessBean newRRB) {    rrb = newRRB;  }    public void setFoundUserId(java.lang.String newFoundUserId) {    foundUserId = newFoundUserId;  }    public java.lang.String getFoundUserId() {    return foundUserId;  }  /// End of section 2B ///////////////////////////////////////////

      对验证方法validateParameters增加具体实现

// section 1 ///////////////////////////////////////////////////// use UserRegistryAccessBean to check user Id  try {         if (rrb!=null){      setFoundUserId(rrb.getUserId());     } else {      rrb =new UserRegistryAccessBean();      rrb=rrb.findByUserLogonId(getInputUserName());        setFoundUserId(rrb.getUserId());     }       } catch (javax.ejb.FinderException e) {      return;             } catch (java.rmi.RemoteException e) {    throw new ECSystemException(ECMessage._ERR_REMOTE_EXCEPTION,      this.getClass().getName(), "validateParameters");  } catch (javax.naming.NamingException e) {    throw new ECSystemException(ECMessage._ERR_NAMING_EXCEPTION,      this.getClass().getName(), "validateParameters");         } catch (javax.ejb.CreateException e) {    throw new ECSystemException(ECMessage._ERR_CREATE_EXCEPTION,      this.getClass().getName(), "validateParameters");  }// end of section 1 ///////////////////////////////////////////////

 

2. 增加MyNewControllerCmdImpl.java代码实现

      声明用户类UserRegistryAccessBean 

/// Section 2 /////////////////////////////////////////////////// create a user registry accessbean resource instance variable    private UserRegistryAccessBean rrb = null;/// End of Section 2 /////////////////////////////////////////

      增加执行方法业务处理和传值处理具体实现

// Section 4D /////////////////////////////////////// pass rrb instance variable to the task command    cmd.setUserRegistryAccessBean(rrb);// End of section 4D /////////////////////////////// Section 4F //////////////////////////////////////////using access bean to get information from database    if (cmd.getFoundUserId() != null) {      rspProp.put("taskOutputUserId", cmd.getFoundUserId());    }// End of section 4F /////////////////////////////

 

3. 修改JSP页面:

  a. 在MyNewJSPTemplate.jsp的SECTION 8中增加下面代码,用于显示taskOutputGreetings传递的信息

<!-- SECTION 8 --><c:if test="${!empty taskOutputUserId}">   <fmt:message key="UserId" bundle="${tutorial}" />   <c:out value="${taskOutputUserId}"/> <br />   <fmt:message key="FirstInput" bundle="${tutorial}" />   <b><c:out value="${userName}"/></b>   <fmt:message key="RegisteredUser" bundle="${tutorial}" /> <br />   <fmt:message key="ReferenceNumber" bundle="${tutorial}" />    <b><c:out value="${taskOutputUserId}"/></b> <br /> <br /></c:if><c:if test="${empty taskOutputUserId}">   <fmt:message key="FirstInput" bundle="${tutorial}" />   <b><c:out value="${userName}"/></b>    <fmt:message key="NotRegisteredUser" bundle="${tutorial}" /> <br /></c:if><!-- END OF SECTION 8 -->




4. 测试:

  a. 启动server

  b. 登陆前台用户

  c. 访问: http://localhost/webapp/wcs/stores/servlet/MyNewControllerCmd?input1=new_logon_Id&input2=1000 (注:由于缓存可在url后加如: ?StoreId=10051 )

 

参考: http://pic.dhe.ibm.com/infocenter/wchelp/v7r0m0/topic/com.ibm.commerce.developer.tutorial.doc/tutorial/ttd17.htm   

原创粉丝点击