After having updated struts2 from 2.3.16 to 2.3.32(fix the S2-045), the JSP file can not resolve some Objects#39; fields(将struts2从2.3.16更新到2.3.32后(修复S2-045),JSP文件无法解析一些Objects的字段)
问题描述
最近我们修复了struts2的'S2-045'问题.我更新了所有与struts2
相关的jar文件,包括freemarker
、ognl
、xWork
等.我使用 tomcat8
来部署我的动态 Web 项目.启动 tomcat-server 时没有任何 Exceptions
.但是似乎出现了一些问题:一些值(从 db 获取)应该显示在 jsp 页面上不再显示.没有抛出 Exceptions
.我还可以看到我已经在 Action Classes
中正确获取了对象.
以下是一些例子
Recently we fixed the struts2's 'S2-045' problem.I updated all the struts2
related jar files including freemarker
, ognl
, xWork
,etc. I use tomcat8
to deploy my dynamic web project. There were not any Exceptions
while starting the tomcat-server. But some problems seemed occur: some values(got from db) should be displayed on the jsp pages dose not show up any more. There is no Exceptions
thrown. I also can watch that I have already got the very Objects correctly in the Action Classes
.
the following is some examples
// index.jsp ----- here is the list I want to show on the page.
// the list is the type of List<News> (Class News is my bussiness Class).
// I want to get the 'fTitle' and 'fCreatetime_s' from 'News' but they
// do not show up! (This used to be working very well.)
<s:bean name="org.ulibrary.web.Getarclist">
<s:iterator value="list">
<li>
<span class="listTitle">
<a target="_blank" href="ViewArc.action? uuid=${UUID}">${fTitle}</a>
</span>
<span class="listDate">${fCreatetime_s}</span>
</li>
</s:iterator>
</s:bean>
//=================================================================
以下是相关字段 id News.java
Following is the ralated fields id News.java
// News.java (**just some ralated fields**)
class News{
@Id
@GeneratedValue(generator = "system-uuid")
@GenericGenerator(name = "system-uuid", strategy = "uuid")
@Column(name = "f_uuid", length = 32, unique = true)
private String UUID;
@Column(name = "f_title", length = 200)
private String fTitle;
@Transient
private String fCreatetime_s;
public String getUUID() {
return UUID;
}
public void setUUID(String uuid) {
UUID = uuid;
}
public String getFTitle() {
return fTitle;
}
public void setFTitle(String title) {
fTitle = title;
}
public String getFCreatetime_s() {
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
return formatter.format(Long.valueOf(fCreatetime));
}
public void setFCreatetime_s(String createtime_s) {
fCreatetime_s = createtime_s;
}
}
然后是 GetarcList.java
//GetarcList.java (just include some related fields)
class GetarcList{
private List list;
public void setList(List list) {
this.list = list;
}
//!!!!!!$$$$$$$$--- Attention -----$$$$$$$$$!!!!!!!!!!!
// this method returns a List<News> , I can successfully get every value of 'News' in the list
public List getList() throws AuctionException{
String orderby_str = (String) OrderByMap.get(String.valueOf(orderby));
list = webTagManager.getArcList(row, typeid, titlelen, infolen, orderby_str + " " + orderway);
return list;
}
}
我认为这可能是由 OGNL 或 JSP 相关的 jar 文件引起的.我在 index.jsp
或 java-files 中没有发现任何问题.
I think this maybe caused by the OGNL or JSP related jar-files. I didn't find any problems in my index.jsp
or java-files.
推荐答案
你需要使用如下格式的getter/setter.只有一个小写字母开头的属性不是大写的.
You need to use getters/setters in the following format. Properties with only one starting lowercase letter are not uppercased.
public String getfTitle() {
return fTitle;
}
public void setfTitle(String title) {
fTitle = title;
}
这篇关于将struts2从2.3.16更新到2.3.32后(修复S2-045),JSP文件无法解析一些Objects的字段的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:将struts2从2.3.16更新到2.3.32后(修复S2-045),JSP文件无法解析一些Objects的字段


基础教程推荐
- 无法使用修饰符“public final"访问 java.util.Ha 2022-01-01
- Java:带有char数组的println给出乱码 2022-01-01
- 在 Libgdx 中处理屏幕的正确方法 2022-01-01
- 如何使用 Java 创建 X509 证书? 2022-01-01
- FirebaseListAdapter 不推送聊天应用程序的单个项目 - Firebase-Ui 3.1 2022-01-01
- 设置 bean 时出现 Nullpointerexception 2022-01-01
- Java Keytool 导入证书后出错,"keytool error: java.io.FileNotFoundException &拒绝访问" 2022-01-01
- 降序排序:Java Map 2022-01-01
- 减少 JVM 暂停时间 >1 秒使用 UseConcMarkSweepGC 2022-01-01
- “未找到匹配项"使用 matcher 的 group 方法时 2022-01-01