- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
编辑:代码已更新以包含 @Igor Artamonov 建议的更改,但问题仍然出现!我确实注意到了以下内容 reference to this image ,所有者 2 有高度值,没有 tool_proficiency 值,直到添加所有者 3,然后 2 的高度值消失,出现 2 的工具值,2 在创建时拥有史密斯工具
编辑结束
这可能类似于“This Question”,但我无法使用那里给出的解决方案解决问题,而且我无法发表评论,因为我的代表太少了:(
所以我希望你不介意我问我在这里的问题:) *注意如果有更好的地方让我提出我的问题或有任何问题请告诉我,我在这里很新:P
我的网页有一个 java 帮助程序,用于设置数据存储中实体的属性,但每次至少会错过一项(如果不是更多的话)?所有项目都使用相同的功能设置!
JSP页面上的代码:
String Username = (String)session.getAttribute("username");
System.out.println("Username carried from session variable = "+Username);
if(request.getParameter("alignment")!=null
&& request.getParameter("Size")!=null
&& request.getParameter("age")!=null
&& request.getParameter("tools")!=null){
String HD = "Hill Dwarf";
String Age = request.getParameter("age");
String Alignment = request.getParameter("alignment");
int Size = Integer.parseInt(request.getParameter("Size"));
int Rem = Size%12;
Size = (Size-(Size%12))/12;
String Height = (Size+"ft "+Rem+"in");
String Tools = request.getParameter("tools");
System.out.println("setString for hill dwarf: ");
login.setString(Username, "Race", HD);
System.out.println("setString for age: ");
login.setString(Username, "Age", Age);
System.out.println("setString for Alignment: ");
login.setString(Username, "Alignment", Alignment);
System.out.println("setString for height: ");
login.setString(Username, "Height", Height);
System.out.println("setString for tools: ");
login.setString(Username, "Tool_Proficiency", Tools);
System.out.println("redirecting to class page");
response.sendRedirect("class.jsp");
}
登录助手中的代码:
public void setString(String usernamein,String columnin, String stringin){
Transaction txn = datastore.beginTransaction();
try{
Filter usernamefilter = new FilterPredicate("owner",
FilterOperator.EQUAL, usernamein);
Query validuserquery = new Query("Char").setFilter(usernamefilter);
Entity theUser = datastore.prepare(validuserquery).asSingleEntity();
System.out.println("Username passed to setString = "+usernamein);
System.out.println("Column name passed to setString = "+columnin);
System.out.println("String passed to setString = "+stringin);
System.out.println("Query = "+validuserquery);
if (theUser==null && counter < 30){
System.out.println("theUser was equal to null");
try {
System.out.println("sleeping for 400ms");
Thread.sleep(400);
} catch (InterruptedException e) {
e.printStackTrace();
}
counter ++;
System.out.println("counter increased, counter = "+counter);
System.out.println("Recursing function");
setString(usernamein,columnin,stringin);
}else{
System.out.println("theUser was not == null ");
System.out.println("inputting: "+columnin+" = "+stringin);
theUser.setProperty(columnin,stringin);
datastore.put(theUser);
System.out.println("item added");
}
txn.commit();
}finally{
if (txn.isActive()){
txn.rollback();
}
}
}
如果有人需要我解释代码,我只会问:)
好的,这是将年龄、对齐方式等放入数据存储中的代码,但它在数据存储中给出了这个结果?我一生都不知道为什么!?
这本来是一张图像,但我需要 10 次代表,所以你必须 follow this link for the image :(再次抱歉
这是 eclipse 控制台从所有 System.out.println() 获取的内容这不是代码,但我会将其放入代码片段中以提高可读性:)
HillDwarf page loaded
Username carried from session variable = 12
setString for hill dwarf:
Username passed to setString = 12
Column name passed to setString = Race
String passed to setString = Hill Dwarf
Query = SELECT * FROM Char WHERE owner = 12
theUSer was not == null
inputting: Race = Hill Dwarf
item added
setString for age:
Username passed to setString = 12
Column name passed to setString = Age
String passed to setString = 10
Query = SELECT * FROM Char WHERE owner = 12
theUSer was not == null
inputting: Age = 10
item added
setString for Alignment:
Username passed to setString = 12
Column name passed to setString = Alignment
String passed to setString = N
Query = SELECT * FROM Char WHERE owner = 12
theUSer was not == null
inputting: Alignment = N
item added
setString for height:
Username passed to setString = 12
Column name passed to setString = Height
String passed to setString = 4ft 5in
Query = SELECT * FROM Char WHERE owner = 12
theUSer was not == null
inputting: Height = 4ft 5in
item added
setString for tools:
Username passed to setString = 12
Column name passed to setString = Tool_Proficiency
String passed to setString = Brewer's Supplies
Query = SELECT * FROM Char WHERE owner = 12
theUSer was not == null
inputting: Tool_Proficiency = Brewer's Supplies
item added
redirecting to class page
因此,如图所示,我的问题是数据存储区并未每次都获取所有项目,即使我每次都使用相同的帮助器方法!
请帮助我几天来一直在尝试通过多种方法解决这个问题:(
最佳答案
您没有使用事务,因此某些写入会被其他写入替换。
试试这个:
DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();
Transaction txn = datastore.beginTransaction();
try {
/// your current code
txn.commit();
} finally {
if (txn.isActive()) {
txn.rollback();
}
}
参见https://cloud.google.com/appengine/docs/java/datastore/transactions
PS,您还应该了解,您当前的代码比在一个 .put
中进行相同更新的代码贵 4 倍。我认为没有任何理由要为每个字段分别进行 4 次。
关于java - .setProperty 100% 的时间都不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29373192/
我有一个 UserPass 类,它有 2 个属性:User user;字符串密码用户还有其他属性,如用户名、系统 ID 等。 我在 UserPass 上调用了 setProperty ("userna
在设计用于在自定义芯片上运行的 Java 应用程序中找到以下代码行。 System.setProperty("ssl.SocketFactory.provider", "some.custom.soc
当我使用 $wnd.document.getElementById('id'); 它运行成功,我得到了元素。但是,当我尝试像这样设置 property 时: $wnd.document.getElem
我想实现从默认(Windows HKCU)到我自己的(文件系统)的首选项迁移。一切都分开工作,但不能一起工作: public static void main(String[] args){ try
我遇到过非常奇怪的情况。不确定,这是否符合逻辑,但请麻烦。 我有两个元素,一个是jar 文件,第二个是ETL 工具,它完全是一个基于Java 的高级ETL 工具。 我已将我的 jar 导入到一个 ET
考虑以下类: class foo : public QObject { Q_OBJECT Q_ENUMS(E) Q_PROPERTY(E x READ x WRITE setx) pu
在阅读了SetProperty上的页面并查看了我在此处和其他地方可以找到的尽可能多的示例之后,我仍然无法将SetProperty设置为自定义操作ID的After或Before来使用。该文档看起来很简单
我使用 beans/form 处理在登录屏幕上获取输入参数,然后使用这些参数尝试将用户登录到应用程序中。 但是我收到错误 - org.apache.jasper.JasperException: /l
我曾尝试在主方法中使用System.setProperty,没有任何问题,但是当我切换到TestNG作为我的Selenium学习的一部分时,我意识到我们不能编写System.setProperty 在
我正在尝试实现一个域类,用于记录任何属性值何时更改,但我的 setProperty() 调用会在设置实际值时导致无限递归。 这就是现在的样子: void setProperty(String name
为什么我需要使用 setProperty 才能设置 java 类中变量的值 当我可以创建变量的实例并使用该实例来访问我的变量并分配值时。 最佳答案 您指的是Encapsulation 。它是面向对象编
这个问题已经有答案了: How to set request.getParameter in jsp:setProperty (1 个回答) 已关闭 3 年前。 所以基本上我想弄清楚是否可以将 jsp
编辑:代码已更新以包含 @Igor Artamonov 建议的更改,但问题仍然出现!我确实注意到了以下内容 reference to this image ,所有者 2 有高度值,没有 tool_pr
我使用它来验证 HTTP URL 以获取 JSON 字符串 HttpURLConnection inputStream = (HttpURLConnection) myURL.open
我正在开发一个基于 BindableBase 的 ViewModel。此 VM 包含域模型的实例。VM 公开了一个属性,比如 Name 我不想从中使用本地存储(即 VM 中的存储),而是委托(dele
我想将资源文件夹中的文件路径设置为系统属性。 String path = MainCore.class.getClassLoader().getResource("chromedriver-76.0.
为什么 configFile.setProperty("dir", "test") 在 ActionListener 的方法 actionPerformed 中不起作用。它不会将属性放入文件中。 se
当我尝试为我的 XmlSerializer 设置属性时,例如 xmlSerializer.setProperty("http://xmlpull.org/v1/doc/properties.html#
我正在尝试将 QVariantMap 转换为派生自 QObject 的自定义类,但我得到的返回值是 false setProperty()当谈到设置我的枚举类型的属性时。代码如下: MessageHe
我有一个程序,需要在其中设置记录器格式,但由于有多个入口点(我无法控制所有入口点),我想将 System.setProperty() 调用放置在所有入口点汇聚的类的构造函数中。 主类 public s
我是一名优秀的程序员,十分优秀!