gpt4 book ai didi

java - Struts2 : map which contain String and double values return null for double values

转载 作者:太空宇宙 更新时间:2023-11-04 06:56:53 24 4
gpt4 key购买 nike

我想知道如何通过HashMap其中包含从 Action 到 javascript 代码的 String 和 double 值?

当我编辑一些具有双值的字段时,这些字段上有一个空值,我该如何解决这个问题?

行动:

 public String query() {
Service = new ServiceImpl();
v = new Vehicule();
v= Service.getByImmat(im);
map.put("kilo", v.getKilo()); //double value
/*SimpleDateFormat formatter5=new SimpleDateFormat("yyyy-MM-dd");
String formats1 = formatter5.format(ss1);*/
map.put("datepicker", formats1);
map.put("etat", v.getEtat());//string value
map.put("capacite_bagages", v.getCapacite_bagage()); //double value
return "success";
}

Ajax :

$.ajax({
type: 'POST',
url : "<s:url action='query'/>",
dataType : 'json',
data: { imm : selectedValue},
success: function(result) {
$.each(result, function(key,value){
$("#"+key).val(value);
});
});

编辑:

我想更新一些值 (string,Date and double) ,因此我将这些参数传递到 map<String,object>从action到jsp页面。

public String query() {
Service = new ServiceImpl();
v = new Vehicule();
v= Service.getByImmat(im);
map.put("kilo", v.getKilo()); //double value
SimpleDateFormat formatter5=new SimpleDateFormat("yyyy-MM-dd");
String formats1 = formatter5.format(v.getDate());
map.put("datepicker", formats1);
map.put("etat", v.getEtat());//string value
map.put("capacite_bagages", v.getCapacite_bagage()); //double value
return "success";
}

我在我的jsp中显示它,我在我的jsp页面中编辑它,但是当我想保存结果时,双值采用NAN! :

public String modifiervehicule () {

Service = new ServiceImpl();
v= new Vehicule();
v = vehiculeService.getVehiculeByImmat(immatricul);
v.setKilo((Double)getKilo());
v.setDate((Date)getDate());
v.setEtat(getEtat());
v.setCapacite_bagage((Double)getCapacite_bagages());

v = Service.update(v);
return "success";

}

kilo 字段( double )在编辑后有空值,但如果我用 Integer 值编辑它,它将不会有空值,

我认为是因为public double getkilo()应该返回一个我在 map 中传递的双非对象!!)

编辑2:

jsp:

<script type="text/javascript">
$(document).ready(function()
{

$('#imm').change(function()
{


var selectedValue = $('#imm').val();
if ($.trim(selectedValue).length > 0)
{
$.ajax(
{
type: 'POST',
url : "<s:url action='query'/>",
dataType : 'json',
data: { imm : selectedValue},
success: function(result){
$.each(result, function(key,value)
{


$("#"+key).val(value);

} );
});
</script>

<s:form cssStyle="border:0;" validate="true" action="modifiervehicule" namespace="/" >
<s:select id="imm" label="immatriculation" list="immatriculs" name="immatricul"></s:select>
<s:textfield id="kilo" name="kil" label="kilometrage" size="15" ></s:textfield>
<s:textfield id="etat" name="etat" label="etat" size="15" ></s:textfield>
<s:textfield id="datepicker" name="date" label="date" size="15" ></s:textfield>
<s:textfield id="capacite_bagages" name="capacite_bagages" label="capacité de bagages" size="15"></s:textfield>

<s:submit style="height:30px; width:125px" name="Valider" value="Valider"></s:submit>
</s:form>

<强> Struts.xml

<action name="query" class="action.Gestion" method="query">
<result name="success" type="json" >
<param name="root">map</param>

</result>

</action>

最佳答案

使 map 映射对象而不是字符串。例如

Map<String, Object> map= new HashMap<>();

现在您必须将对象放入其中,如果值为null,它将保留您在success处理程序返回JSON结果后可以获得的值。也可以看看 how to exclude properties with null values from the JSON result

关于java - Struts2 : map which contain String and double values return null for double values,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22613278/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com