Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsp 选择带有空值的标记标头键_Jsp_Struts2 - Fatal编程技术网

Jsp 选择带有空值的标记标头键

Jsp 选择带有空值的标记标头键,jsp,struts2,Jsp,Struts2,我想知道是否可以将headerKey设置为空,以便在DOM中显示如下内容: <option value="">All</option> 全部 我的代码: <s:select name="..." headerKey="" headerValue="All" list="#{...}" id="..." style="..." tabindex="1" /> 我知道在Struts2文档中,它说headerKey应该不为空,但我想知道是否有办法绕过它。我

我想知道是否可以将
headerKey
设置为空,以便在DOM中显示如下内容:

<option value="">All</option>
全部
我的代码:

<s:select name="..." headerKey="" headerValue="All" list="#{...}" id="..." style="..." tabindex="1" />


我知道在Struts2文档中,它说
headerKey
应该为空,但我想知道是否有办法绕过它。

我过去通常做的是在我的action类中生成选择基于的键/值对的映射时,我使用
LinkedHashMap
并将带有空键的
All
选项作为第一个映射条目

public class UnitOfMeasureSelectAction extends DefaultAction {
  private Map<String, String> unitsOfMeasure;
  @Override
  public String execute() throws Exception {
    unitsOfMeasure = new LinkedHashMap<>();
    unitsOfMeasure.put( StringUtils.EMPTY, getText( "lov.common.all" ) );
    unitsOfMeasure.putAll( unitsOfMeasureService.getUomMap() );
    return SUCCESS;
  }
  public Map<String, String> getUnitsOfMeasure() {
    return unitsOfMeasure
  }
}
公共类度量单位选择操作扩展了DefaultAction{
私人地图测量单位;
@凌驾
公共字符串execute()引发异常{
unitsOfMeasure=新建LinkedHashMap();
unitsOfMeasure.put(StringUtils.EMPTY,getText(“lov.common.all”);
unitsOfMeasure.putAll(unitsOfMeasureService.getUomMap());
回归成功;
}
公共地图getUnitsOfMeasure(){
返回单位测量
}
}

我过去通常做的是,当我在action类中生成选择基于的键/值对映射时,我使用
LinkedHashMap
并将带有空键的
All
选项作为第一个映射条目

public class UnitOfMeasureSelectAction extends DefaultAction {
  private Map<String, String> unitsOfMeasure;
  @Override
  public String execute() throws Exception {
    unitsOfMeasure = new LinkedHashMap<>();
    unitsOfMeasure.put( StringUtils.EMPTY, getText( "lov.common.all" ) );
    unitsOfMeasure.putAll( unitsOfMeasureService.getUomMap() );
    return SUCCESS;
  }
  public Map<String, String> getUnitsOfMeasure() {
    return unitsOfMeasure
  }
}
公共类度量单位选择操作扩展了DefaultAction{
私人地图测量单位;
@凌驾
公共字符串execute()引发异常{
unitsOfMeasure=新建LinkedHashMap();
unitsOfMeasure.put(StringUtils.EMPTY,getText(“lov.common.all”);
unitsOfMeasure.putAll(unitsOfMeasureService.getUomMap());
回归成功;
}
公共地图getUnitsOfMeasure(){
返回单位测量
}
}

这个问题可能已经变得无关紧要了,因为我使用javaTemplate插件覆盖了导致这个问题的struts2标记。如果没有javaTemplate插件,将headerKey保留为空将使选项值看起来与我在DOM中所希望的完全一样。由于我使用javaTemplate插件覆盖了导致该问题的struts2标记,所以这个问题可能变得无关紧要。如果没有javaTemplate插件,将headerKey留空将使选项值看起来与我在DOM中所期望的完全一样。