Senden der Anfrage an die Aktion mit Ajax, der Ergebnistyp ist json. Verwenden Sie ein JSON-Plugin für Struts2. Das Ergebnis ist korrekt, dauert aber sehr lange.Struts2 + jsonplugin: Antwort dauert sehr lange, um vom entfernten Server im Browser angezeigt zu werden
Im Folgenden ist der Inhalt der struts.xml:
<package name="FoodCompositionSearchajax" extends="json-default">
<action name="addSearchCondition" class ="com.fmOnline.action.FmzxMenuCompositionSearchAction" enter code here
method="addSearchCondition">
<result name="success" type="json">
<param name="excludeProperties">
showList\[\d+\]\.foodStr,showList\[\d+\]\.nourishStr,
showList\[\d+\]\.searchFunction,showList\[\d+\]\.num1,
showList\[\d+\]\.num2,showList\[\d+\]\.danwei,
showList\[\d+\]\.nourishname,showList\[\d+\]\.resultmap,
dataList, foodList, foodStr, map, nourishList, nourishStr,
num1, num2, paramList, searchDes, searchFun
</param>
</result>
</action>
</package>
Die <param name="includeProperties">
nicht funktioniert, so <param name="excludeProperties">
stattdessen verwenden.
Das Ergebnis json enthält eine Liste (showList, enthält 2 String-Attribute, die Anzahl der Elemente variiert von 1 bis 6) und einen String. Ich habe den Ergebnisinhalt von dem Javascript in der Klientenseite alarmiert, und das <param name="excludeProperties">
funktioniert.
Das JSON-Ergebnis lautet: {"msg": null, "showList": [{"id": 1, "searchDes": "淀粉 中 的 蛋白质 含量> = 11"}, {"id": 2, "searchDes": "" 中 蛋白质 蛋白质 含量 => = 11 "}, {" id ": 3," searchDes ":" 禽类 中 的 蛋白质 含量> = 11 "}]}
Zuerst, Ich habe <result type="json"/>
verwendet. Ich denke, die Ursache der langen Zeit könnte ein zu großes Objekt sein. Dann habe ich @JSON (serialize = false) versucht, die get-Methoden zu deserialisieren, damit diese Methoden bei der Konvertierung von java nach json nicht ausgeführt werden. Schließlich habe ich excludeProperties verwendet. Allen gelingt es, kleinere Objekte zurückzugeben, aber die Zeit nicht zu verkürzen. Die Reaktionszeit einer normalen jsp Seite ist gut
Problem:
Wenn auf dem lokalen Rechner, das Projekt läuft, wird die Reaktionszeit ist kurz.
Wenn auf dem Remote-Server ausgeführt wird, dauert es mehr als 10 Sekunden, bis die Antwort auf der Clientseite erfolgt. Operating Database ist wirklich schnell, es scheint, dass es lange dauert, das Ergebnis vom Server zum Browser zu senden.
Wenn das Ergebnis null ist, ist die Reaktionszeit kurz, auch vom Remote-Server.
Wie kann ich die Antwortzeit verkürzen?
Das Json-Ergebnis ist: {"msg": null, "showList": [{"id": 1, "searchDes": "淀粉 中= 蛋白质 含量> = 11 "}, {" id ": 2," searchDes ":" 豆类 中 的 蛋白质 蛋白质 含量> = 11 "}, {" id ": 3," searchDes ":" 禽类 中 的 蛋白质 含量> = 11 "}]}. –
Ich habe keine Ahnung, wie das Ergebnis so lange dauert, um es im Browser anzuzeigen. –
Zuerst habe ich nur verwendet. Dann habe ich @JSON (serialize = false) versucht, die get-Methoden zu deserialisieren, damit diese Methoden bei der Konvertierung von java nach json nicht ausgeführt werden. Sie alle konnten die Zeit nicht verkürzen. Die Antwortzeit einer normalen jsp-Seite ist gut –