Ajout de champs requis au bean de données
Vous pouvez modifier les champs requis dans votre nouveau bean de données. Les deux champs requis portent sur les types d'informations suivants : propriétés de requête et de contexte de commande.
Procédure
- Double-cliquez sur le nouveau bean de données (par exemple, UserResDataBean) pour afficher son code source.
- Localisez la méthode getCommandContext. Il apparaît initialement comme suit :
public CommandContext getCommandContext() { return null; }Modifiez le code de sorte qu'il apparaisse comme suit :
private CommandContext iCommandContext = null; public com.ibm.commerce.command.CommandContext getCommandContext() { return iCommandContext; } - Localisez la méthode setCommandContext. Il apparaît initialement comme suit :
public void setCommandContext(CommandContext arg0) { }Modifiez le code de sorte qu'il apparaisse comme suit :
public void setCommandContext(com.ibm.commerce.command.CommandContext aCommandContext) { iCommandContext = aCommandContext; } - Enregistrez votre travail.
- Pour modifier le champ iRequestProperties :
- Double-cliquez sur le nouveau bean de données (par exemple, UserResDataBean) pour afficher son code source.
- Recherchez la méthode getRequestProperties. Il apparaît initialement comme suit :
public TypedProperty getRequestProperties() { return null; }Modifiez le code de sorte qu'il apparaisse comme suit :
private com.ibm.commerce.datatype.TypedProperty requestProperties; public TypedProperty getRequestProperties() { return requestProperties; } - Recherchez la méthode setRequestProperties. Il apparaît initialement comme suit :
public void setRequestProperties(TypedProperty arg0) throws Exception { }Modifiez le code de sorte qu'il apparaisse comme suit :
public void setRequestProperties(com.ibm.commerce.datatype.TypedProperty aParam) throws Exception { // copy input TypedProperties to local requestProperties = aParam; } - Sauvegardez votre travail.
- Procédez à la modification de la méthode de remplissage.
- Remplir la clé primaire du bean d'accès correspondant
Vous pouvez modifier le code source pour remplir la clé primaire du bean d'accès correspondant. La façon recommandée de le faire est d'utiliser le gestionnaire de beans de données pour définir indirectement cette valeur. Cette méthode indirecte garantit qu'une valeur de clé primaire prélevée à partir des propriétés URL ne remplacera pas la clé primaire si elle a déjà été définie. Pour que votre méthode setRequestProperties suive ce modèle, codez-le d'une manière similaire à l'extrait de code suivant. Notez que dans l'exemple suivant, la clé principale est l'ID utilisateur. Cela peut être différent selon la situation et, par conséquent, le code suivant peut ne pas être immédiatement compilé dans votre application.
public void setRequestProperties( com.ibm.commerce.datatype.TypedProperty arg1) throws Exception { iRequestProperties = arg1; try { if (// check for nulls getDataBeanKeyUserId() == null) { super.setInitKey_UserId(aUserId); } } catch (com.ibm.commerce.exception.ParameterNotFoundException e) { } }Il existe deux autres façons de définir la clé principale pour le bean d'accès. Il peut être fait en externe à partir du bean de données, par exemple dans la page JSP. Dans ce cas, avant d'activer le bean de données dans la page JSP, utilisez le paramètre
c:setde la balise userBean pour définir la clé primaire. Par exemple, le JSP peut inclure un code similaire à ce qui suit :<wcbase:useBean id="orderBean" classname="com.ibm.commerce.order.beans.OrderDataBean" scope="page"> <c:set value="${orderId[0]}" target="${orderBean}" property="orderId"/> </wcbase:useBean>Alternativement, la clé primaire peut être définie de manière directe. Par exemple, le code de la méthode setRequestProperties du bean de données paraîtrait similaire à ce qui suit :
public void setRequestProperties( com.ibm.commerce.datatype.TypedProperty arg1) throws Exception { iRequestProperties = arg1; try { super.setInitKey_UserId(aUserId); } } catch (com.ibm.commerce.exception.ParameterNotFoundException e) { } }Notez que la procédure recommandée pour définir la clé principale est la méthode indirecte.