Java 如何在不使用OGNL转换器的情况下设置浮点?

Java 如何在不使用OGNL转换器的情况下设置浮点?,java,struts2,floating-point,ognl,Java,Struts2,Floating Point,Ognl,我有一个类似这样的类: public class Foobar { private float value; public void setValue(float value) { this.value = value; } } 然后我有一个网页(Struts2),它传入了一个变量foobar.value <input type="text" name="foobar.value" value="123.456"> 我找到了一个关于创建转换器的网站

我有一个类似这样的类:

public class Foobar {
   private float value;
   public void setValue(float value) {
      this.value = value;
   }
}
然后我有一个网页(Struts2),它传入了一个变量foobar.value

<input type="text" name="foobar.value" value="123.456">
我找到了一个关于创建转换器的网站


OGNL和Struts2在默认情况下不支持设置基元浮点吗?

如果将值更改为浮点(对象),是否有效?

好的,我已经解决了。上面的代码确实有效。但这是行不通的

 <input type="text" name="foobar.value" value="-123.456">

显然,OGNL将负数解释为字符串。我不知道在没有转换器的情况下如何处理这个问题。很高兴知道它将处理正浮点和本机浮点

我做了进一步的研究,发现了这个bug

它已关闭,但版本2.1.8不在Maven中,最新版本的Struts2尚未依赖它:(


我想我现在将编写一个转换器。

不,我将它切换到一个Float对象,但它不起作用。这是个好主意。您的操作是否有一个Foobar对象的getter/setter?
 <input type="text" name="foobar.value" value="-123.456">