java.lang.NoSuchMethodError: java.util.Map.replace(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
iland.client.ClientAction.update(ClientAction.java:82)
我的行动代码
dao.update(cl);
Map session = ActionContext.getContext().getSession();
session.replace("client", cl);
此处cl
是
Client cl = new Client();
我正在使用客户端对象更新我的数据库,更新后我正在用代码
更新会话变量session.replace("client", cl);
此代码在我的本地主机中正常运行,但在服务器中部署后,它显示异常。
如何解决这个问题?
答案 0 :(得分:0)
会话映射中没有名为replace()
的方法(或生成映射到java 7)。
你只需要做
dao.update(cl);
Map session = ActionContext.getContext().getSession();
session.put("client", cl);
地图以这种方式工作,如果存在密钥,put(key, value)
将覆盖该值,否则它将创建一个新条目。
答案 1 :(得分:0)
replace(),但您可以使用put
来执行相同的操作。 From official documentation:
V put(K key, V value)
Associates the specified value with the specified key in this map (optional operation).
If the map previously contained a mapping for the key, the old value is replaced by the specified value.
(A map m is said to contain a mapping for a key k if and only if m.containsKey(k) would return true.)
答案 2 :(得分:0)
java.util.Map.replace()
方法只是因为java 1.8我猜,检查服务器的jdk版本