我不能用点(例2.2)插入双值的问题,但是我可以用逗号插入它们(例如:2,2)。
但是当我想使用(JSP和Ajax)编辑它们时,即使我用逗号存储它们,它们也会出现(点),因此我必须编辑所有值!
场景如下:我想在我的应用程序中编辑一些double值(hibernate和struts2),我将值从action传递给JSP:
private Service Service;
private Vehicule v;
private Map<String, Object> map= new HashMap<>();
public String query()
{
Service = new ServiceImpl();
v = new Vehicule();
v= Service.getVehiculeByImmat(field1);
map.put("date", v.getdate().toString());
map.put("kilometrage", v.getKilometrage());
return "success";
}
然后我在JSP中显示它们:
$(document).ready(function(){
$('#field1').change(function(){
var selectedValue = $('#field1').val();
if ($.trim(selectedValue).length > 0)
{
alert(selectedValue);
$.ajax(
{
type: 'POST',
url : "<s:url action='query'/>",
dataType : 'json',
data: { field1: selectedValue},
success: function(result){
$.each(result, function(key,value)
{ $("#"+key).val(value);
} );
},
});
}
}
);
});
struts.xml
:
<action name="query" class="action.GestionVehicules" method="query">
<result name="success" type="json">map</result>
</action>
我的问题:可以用点插入双值吗?
答案 0 :(得分:0)
默认语言环境与客户端预期不同。对于那些区域设置,分数数字格式也不同。您可以将美国语言环境设置为操作上下文,以便在序列化为JSON时使用它。根据这种语言环境,它使用小数部分分隔符和逗号进行分组。
ActionContext.getContext().setLocale(Locale.US);
在返回结果之前执行此操作。