cancel
Showing results for 
Search instead for 
Did you mean: 

UI for custom action

spdaly01
Champ in-the-making
Champ in-the-making
I am trying to create a UI to pass parameters to a custom action.

Here's the JSP code:

                              <table cellpadding="2" cellspacing="2" border="0" width="100%">
                                 <tr>
                                    <td colspan="2" class="mainSubTitle"><h:outputText value="#{msg.set_action_values}" /></td>
                                 </tr>
                                 <tr><td colspan="2" class="paddingRow"></td></tr>
                                 <tr>
                                    <td><nobr><h:outputText value="Siperian ID:"/></nobr></td>
                                    <td width="95%">
                                       <h:inputText value="#{WizardManager.bean.actionProperties.siperian-id}"
                                                    size="20" maxlength="20" />
                                    </td>
                                 </tr>
                                
                                 <tr>
                                    <td><nobr><h:outputText value="Siebel ID:"/></nobr></td>
                                    <td width="95%">
                                       <h:inputText value="#{WizardManager.bean.actionProperties.siebel-id}"
                                                    size="20" maxlength="20" />
                                    </td>
                                 </tr>
                                
                                 <tr><td class="paddingRow"></td></tr>
                              </table>

When I click OK, I get the following error:

Please correct the errors below then click Finish.
Parsed Expression of unsupported type for this operation. Expression class: org.apache.commons.el.BinaryOperatorExpression. Expression: '#{WizardManager.bean.actionProperties.siperian-id}'
Parsed Expression of unsupported type for this operation. Expression class: org.apache.commons.el.BinaryOperatorExpression. Expression: '#{WizardManager.bean.actionProperties.siebel-id}'

My handler:

   @Override
   public String getJSPPath() {
      return "/jsp/extension/actions/" + MoveToNamedFolderActionExecuter.NAME + ".jsp";
   }

   @Override
   public void prepareForSave(Map<String, Serializable> actionProps, Map<String, Serializable> repoProps) {
      repoProps.put(MoveToNamedFolderActionExecuter.PARAM_SIPERIAN_ID, (String)actionProps.get(MoveToNamedFolderActionExecuter.PARAM_SIPERIAN_ID));
      repoProps.put(MoveToNamedFolderActionExecuter.PARAM_SIEBEL_ID, (String)actionProps.get(MoveToNamedFolderActionExecuter.PARAM_SIEBEL_ID));
   }

   @Override
   public void prepareForEdit(Map<String, Serializable> actionProps, Map<String, Serializable> repoProps) {
      actionProps.put(MoveToNamedFolderActionExecuter.PARAM_SIPERIAN_ID, (String)repoProps.get(MoveToNamedFolderActionExecuter.PARAM_SIPERIAN_ID));
      actionProps.put(MoveToNamedFolderActionExecuter.PARAM_SIEBEL_ID, (String)repoProps.get(MoveToNamedFolderActionExecuter.PARAM_SIEBEL_ID));
   }

   @Override
   public String generateSummary(FacesContext context, IWizardBean wizard,
         Map<String, Serializable> actionProps) {
      return "generateSummary";
   }

The action work fine with all the parameter code commented out.

What am I missing?
2 REPLIES 2

gyro_gearless
Champ in-the-making
Champ in-the-making
I suppose the problem is with 'siebel-id', as the JSP Expression Language interpreter will consider this as a subtraction 'siebel minus id', which wont work… 🙂

Try using using 'siebel_id' or similar, this should work!

HTH

Gyro

spdaly01
Champ in-the-making
Champ in-the-making
@Gyro

A thousand thanks!  I can't believe I didn't think about that!

Steve