我在应用程序中使用 ExtJS 和 Struts1,当用户以英语使用此应用程序并显示组合框(表单内)时,选择是另一种语言(西类牙语)但不是英语。保存表单并重新加载页面后,此参数以英语显示(但如果用户再次显示组合框,则以西类牙语显示)。我在用正确的语言显示组合框时做错了什么?。
这是发生的事情:
代码有超过 4k 行,这是组合框的创建,如果您需要更多行,我没有任何问题可以放在这里。
var storeTipoProcedimiento = new Ext.data.SimpleStore({
proxy: dameProxy( 'gestionPlanes.do' ),
autoLoad: true,
fields: [
{name: 'idTipoProcedimiento', type: 'int'},
{name: 'descripcion'}
],
baseParams: {
method: 'buscarTipoProcedimiento'
}
});
//combo para buscar los tipos de procedimientos
function dameComboTipoProcedimiento(){
var combo = new Ext.form.ComboBox({
store: storeTipoProcedimiento
,valueField: 'idTipoProcedimiento'
,fieldLabel:'<bean:message key="label.gd.tab2.tipoProc"/>'
,displayField:'descripcion'
,labelStyle: 'color: red; width: 114px;'
,fieldClass: 'padding-left: 50px;'
,mode:'local'
,triggerAction:'all'
,editable: false
,name: 'Select_Tipo'
,id: 'Select_Tipo'
,hiddenName: 'idTipo'
,width: 190
,emptyText: '<bean:message key="label.gd.tab2.tipoProc.msgElijaTipo"/>'
,listeners: {
'collapse': function(){
tipoProcedimientoId = this.value;
},
select:{fn:function(combo){
tipoProcedimientoId = combo.getValue();
}}
}
});
return combo;
}
最佳答案
检查来自服务器的响应。您为加载组合框所做的请求可能返回的是西类牙语数据而不是英语数据。
可能是服务器能够将第一个请求识别为正确的本地化,但对于下一次命中,它无法检测到。共享存储和代理设置的代码。也许我们可以通过看到这一点来判断。
关于forms - 组合框未在 struts1 中显示正确的语言值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30369239/