struts 2 s:date标记,其值来自请求中的变量,其名称在请求中
我的web应用程序中存在struts 2和日期值问题。我有一个表单,里面有一个s:textfield,显示日期值。我从请求中读取这个值,问题是该值的名称在另一个变量中 我呼吁的行动是这样的:struts 2 s:date标记,其值来自请求中的变量,其名称在请求中,date,struts2,tags,Date,Struts2,Tags,我的web应用程序中存在struts 2和日期值问题。我有一个表单,里面有一个s:textfield,显示日期值。我从请求中读取这个值,问题是该值的名称在另一个变量中 我呼吁的行动是这样的: ... public String execute(){ return SUCCESS;} public MyObject getObject1(){ MyObject result = new MyObject(); result.setDate(new java.util.Da
...
public String execute(){ return SUCCESS;}
public MyObject getObject1(){
MyObject result = new MyObject();
result.setDate(new java.util.Date());
return result;
}
...
一旦成功,它就会进入我的状态
在我的表格中,我想写的代码是:
<s:form action="save">
<s:set name="objName" value="object1"></s:set>
<jsp:include page="../includedform.jsp"></jsp:include>
</s:form>
你的问题非常令人困惑,你需要重新措辞,使其更清晰易读。 我不知道你为什么要这样做
<s:textfield name="%{objName}.date" label="Date" >
而这可以像
<s:textfield name="objName.date" label="Date" > OR
<s:textfield name="%{objName.date}" label="Date" >
当您编写objName.date OGNL时,假设您的操作类中有一个bean,即objName,该bean的属性为date,最终将转换为
ONGL提供的getObjName.getDate
在一个类似的时尚上,Date标签起作用
更多详情请参考官方文件
你的问题非常令人困惑,你需要重新措辞,使其更清晰易读。 我不知道你为什么要这样做
<s:textfield name="%{objName}.date" label="Date" >
而这可以像
<s:textfield name="objName.date" label="Date" > OR
<s:textfield name="%{objName.date}" label="Date" >
当您编写objName.date OGNL时,假设您的操作类中有一个bean,即objName,该bean的属性为date,最终将转换为
ONGL提供的getObjName.getDate
在一个类似的时尚上,Date标签起作用
更多详情请参考官方文件
我尝试了一个解决方案,它奏效了: 1仅以日期数据类型保留要在数据库表中存储日期的列。 2在JSP页面中仅使用Textfield标记。不要使用日期标记。 注意:请确保仅通过在textfield标记中放置占位符,才能将用户输入日期设置为YYYY-MM-DD格式! 3只保留用于访问字符串类型字段的变量。不要使用日期数据类型。 4现在运行查询:从tablename中选择日期\u FORMATdatecolumnname,'%d/%m%/Y'作为日期\u二;您将以dd/mm/yyyy格式从该列中获取日期,即使它以yyyy-mm-dd格式存储在表中。 5您还可以将datecolumn的数据与curdate和相关函数进行比较,并且它可以工作:。
6类似于我使用的查询:从datecolumnname>=curdate的tablename中选择id、名称、日期\u FORMATdatecolumnname、“%d/%m/%Y”作为datecolumn2 我尝试了一个解决方案,它奏效了: 1仅以日期数据类型保留要在数据库表中存储日期的列。 2在JSP页面中仅使用Textfield标记。不要使用日期标记。 注意:请确保仅通过在textfield标记中放置占位符,才能将用户输入日期设置为YYYY-MM-DD格式! 3只保留用于访问字符串类型字段的变量。不要使用日期数据类型。 4现在运行查询:从tablename中选择日期\u FORMATdatecolumnname,'%d/%m%/Y'作为日期\u二;您将以dd/mm/yyyy格式从该列中获取日期,即使它以yyyy-mm-dd格式存储在表中。 5您还可以将datecolumn的数据与curdate和相关函数进行比较,并且它可以工作:。
6类似于我使用的查询:从datecolumnname>=curdate的tablename中选择id、名称、日期\u FORMATdatecolumnname、“%d/%m/%Y”作为datecolumn2 我没有名为objName的bean和名为date的属性。我有一个名为objName的字符串,其中包含date属性的bean的名称?你能更清楚地知道你是怎么设置这个bean的吗?你到底在做什么?你的意思是%{%{objName}.date}不起作用吗?OGNL中没有处理递归表达式的功能,除非它是最近添加的。我知道它不起作用。我希望有人知道这样做的方法。问题现在很清楚了?@user1175169:不知道为什么要这样做,而对象可以用post中描述的最简单的方式获取,而且在OGNLI中不允许使用递归表达式。我没有名为objName的bean和名为date的属性。我有一个名为objName的字符串,其中包含date属性的bean的名称?你能更清楚地知道你是怎么设置这个bean的吗?你到底在做什么?你的意思是%{%{objName}.date}不起作用吗?OGNL中没有处理递归表达式的功能,除非它是最近添加的。我知道它不起作用。我希望有人知道这样做的方法。问题现在很清楚了?@user1175169:不知道为什么要这样做,而对象可以用post中描述的最简单的方式获取,而且是按照递归表达式获取,OGNL中不允许这样做