The function "" should be used with a prefix if no default namespace is specified

we are doing some weird handling of our form variables. In any case, I managed to get the variables from the query so that I could do some database stuff. Now I want to send the message back, so that the selection fields can be filled with the original selections.

Here is an example of a select field:

JSP:

Condition Code: 
<select size="1" name="filterCriteria('CONDITION_CODE').values">
  <option value="">&nbsp;</option>
  <c:forEach var="bean" items="${conditions}">
    <option value="'${bean.code}'"<c:if test="${bean.code == form.filterCriteria('CONDITION_CODE').values}"> selected="selected"</c:if>>${bean.code}:&nbsp;${bean.description}</option>
  </c:forEach>
</select> 
<input type="hidden" name="filterCriteria('CONDITION_CODE').fieldName" value="CONDITION_CODE"/>
<input type="hidden" name="filterCriteria('CONDITION_CODE').operation" value="="/>

As you can see, the name is a function in the form: name="filterCriteria('CONDITION_CODE').values

Here is the form:

private String[] fieldNames;

private Map<String, FilterCriteriaForm> filters = 
    new HashMap<String, FilterCriteriaForm>();




public String[] getFieldNames() { return this.fieldNames; }
  public Map<String, FilterCriteriaForm> getFilters() { return this.filters; }



   public FilterCriteriaForm getFilterCriteria(String fieldName)
    throws ServletException
{
    FilterCriteriaForm filter = (FilterCriteriaForm)filters.get(fieldName);

    if (filter == null)
    {
        filter = new DetFilterCriteriaForm( requestAction );
        filters.put( fieldName, filter );
    }

    return filter;
}


    public void setFilters(Map<String, FilterCriteriaForm> val) { this.filters = val; }
    }

In any case, I usually do something like this on jsp to get the field back to what is in the form: "<c:if test="${bean.code == form.filterCriteria('CONDITION_CODE').values}"> selected="selected"</c:if>

When I do this ... I get this error:

FilterCriteria must be used with a prefix if no default namespace is specified

edit:

    Condition Code:&nbsp;<select size="1" name="filterCriteria('CONDITION_CODE').values">
              <c:set var="condition" value="filterCriteria('CONDITION_CODE').values" /> 
                         <option value="">&nbsp;</option>
                         <c:forEach var="bean" items="${conditions}">
                         <option value="'${bean.code}'" <c:if test="${bean.code == param[condition]}">selected="selected"</c:if>>${bean.code}:&nbsp;${bean.description}</option>
                         </c:forEach>
                         </select> 
                       <input type="hidden" name="filterCriteria('CONDITION_CODE').fieldName" value="CONDITION_CODE"/>
                       <input type="hidden" name="filterCriteria('CONDITION_CODE').operation" value="="/>
                       <br/></br>

... ... getFilters():

<select size="1" name="filterCriteria(CONDITION_CODE).values">   
             <option value="">&nbsp;</option>   
              <c:forEach var="bean" items="${conditions}">     
              <c:set var="code" value="'${bean.code}'" />     
              <option value="${code}" <c:if test='${code == form.filters["CONDITION_CODE"].values[0]}'>selected="selected"</c:if>>${bean.code}:&nbsp;${bean.description}</option>   
              </c:forEach> 
              </select> 
+5
1

?

, , , EL. , bean ${form} filterCriteria(String), , getValues(). , . , .

:

<c:if test="${bean.code == 'form.filterCriteria(\'CONDITION_CODE\').values'}"> 

. , Java/JSP JavaScript , . , Java/JSP - HTML. JavaScript HTML -. form JavaScript, JSTL.

${param}. . :

<c:if test="${bean.code == param['filterCriteria(\'CONDITION_CODE\').values']}"> 

, , , , , URL- . , , HTML.

<select name="condition">
  <option value="">&nbsp;</option>
  <c:forEach items="${conditions}" var="condition">
    <option value="${condition.code}" ${condition.code == param.condition ? 'selected' : ''}>${condition.code}:&nbsp;${condition.description}</option>
  </c:forEach>
</select> 

( , <option value>, , )


: EL EL. \, , EL. , - <c:set>:

<c:set var="condition" value="filterCriteria('CONDITION_CODE').values" />
...
<c:if test="${bean.code == param[condition]}"> 

2: . . :

<select size="1" name="filterCriteria('CONDITION_CODE').values">
  <c:set var="condition" value="filterCriteria('CONDITION_CODE').values" /> 
  <option value="">&nbsp;</option>
  <c:forEach var="bean" items="${conditions}">
    <c:set var="code" value="'${bean.code}'" />
    <option value="${code}" <c:if test="${code == param[condition]}">selected="selected"</c:if>>${bean.code}:&nbsp;${bean.description}</option>
  </c:forEach>
</select> 
+5

All Articles