Html 带有空格的值将转换为隐藏字段的标记参数

Html 带有空格的值将转换为隐藏字段的标记参数,html,struts2,Html,Struts2,下面是我在jsp-struts2中的代码行 <s:iterator value="bean.persons" status="stat" > <input type="hidden" id="myname" name="myname" value="%{name}"></input> </s:iterator> public class Person { private String name; // getters and

下面是我在jsp-struts2中的代码行

<s:iterator value="bean.persons"  status="stat" >
  <input type="hidden" id="myname" name="myname" value="%{name}"></input>
</s:iterator>

public class Person {
    private String name;
    // getters and setters 
}

公共阶层人士{
私有字符串名称;
//接球手和接球手
}
当“name”包含带空格的值时,name值的第二部分将转换为html中的struts2属性

例如,如果name的值为“pramod ashok”,则隐藏字段的html代码将转换为如下所示

<input id="myname" type="hidden" ashok=" " value="pramod" name="myname"></input>

请注意,值“ashok”已被视为属性。
请建议一个解决方案来避免这种情况,并将其值作为“pramod ashok”而不是pramod

我有点惊讶它能做什么,因为
%{}
对JSP来说毫无意义。您应该使用
或JSP EL,
${}
来获取Struts 2标记之外的值。struts2使用OGNL表达式来获取值的约定,以及上面代码的第二部分(来自视图源代码的html)中的明显内容,确认了值(部分)已经设置。在第一个示例中,OGNL在Struts 2标记之外使用——JSP本身对OGNL一无所知。S2标记本身评估OGNL,所以我不知道为什么在普通HTML标记中使用它会起作用。我无法重现让OGNL在S2标记之外工作的过程。我将逻辑更改为,但它仍然存在相同的问题:(然后出现了其他问题,您需要提供足够的信息,或者在github上放一个小示例来演示这个问题。