我正在使用Struts2
,我正在尝试使用<s:select>
标记填充下拉列表但由于某种原因我在下拉列表中看不到任何内容。在后端,列表wsAuditConfig
将填充值,但不会显示在下拉列表中。
private List<String> wsAuditConfig;
public void prepare() throws Exception {
AppConfigClient appConfigClient = ( AppConfigClient ) AppContext.getBean( Constants.SPRING_BEAN_CMS_APP_CONFIG_CLIENT );
String appCode = ( String ) System.getProperty( Constants.SPRING_BEAN_EIS_APP_CODE );
List<AppConfig> list = new ArrayList<>();
wsAuditConfig = new ArrayList<>();
GetAppConfigServiceRequest request = appConfigClient.getGetAppConfigServiceRequest();
request.setParameters( appConfigClient.getAppConfigRequestParameters( appCode, null ) );
request.setAccepts( ContentType.JSON );
GetAppConfigServiceResponse response = appConfigClient.get( request );
if( response != null && response.getEntity() != null ) {
list = response.getEntity().getConfig();
for( AppConfig appConfig : list ) {
if( appConfig.getConfigCode().equals( Constants.APP_WS_AUDIT_CONFIG ) ) {
wsAuditConfig.add( appConfig.getKeyName1() );
}
}
}
this.records = new ArrayList<>();
}
<s:form action="viewWSAuditXml" namespace="/eismain/cmswsaudit/view" name="wsAudit">
<s:select name="wsName" headerValue="" headerKey="" list="wsAuditConfig" listKey="wsName" listValue="wsName" key="ws.audit.view.select" onchange="wsAudit.submit();" cssStyle="min-width: 220px;"/>
</s:form>
答案 0 :(得分:0)
什么是wsName
?由于您有String更改列表,因此选择如下,并且它可以解决问题。
<s:select name="wsName" headerValue="" headerKey="" list="wsAuditConfig" onchange="wsAudit.submit();" cssStyle="min-width: 220px;"/>
答案 1 :(得分:0)
下拉列表应填入prepare()
方法,操作类应该为其实现Preparable
,并且操作配置中应该有prepare
拦截器。
需要吸气剂
private List<String> wsAuditConfig;
public List<String> getWsAuditConfig() { return wsAuditConfig; }
由于它是一个字符串列表,因此列表元素没有键或值属性。因此,可以在没有listKey
和listValue
的情况下使用它。
<s:form action="viewWSAuditXml" namespace="/eismain/cmswsaudit/view" name="wsAudit">
<s:select name="wsName" headerValue="" headerKey="" list="wsAuditConfig" key="ws.audit.view.select" onchange="wsAudit.submit();" cssStyle="min-width: 220px;"/>
</s:form>
如果要在下拉列表中列出对象,则应使用键入列表,并提供类似于this回答的键和值。