Javascript Servlet无法从XML获取更新的值
在Java Web项目中,我们使用Servlet使用来自网页的值更新XML标记值,然后为了进一步执行,Servlet必须从XML中获取此更新的标记值并继续,但是它正在检索旧值(更新之前)并继续Javascript Servlet无法从XML获取更新的值,javascript,java,xml,selenium,servlets,Javascript,Java,Xml,Selenium,Servlets,在Java Web项目中,我们使用Servlet使用来自网页的值更新XML标记值,然后为了进一步执行,Servlet必须从XML中获取此更新的标记值并继续,但是它正在检索旧值(更新之前)并继续 public void setPeriodID(String bookingsBOPeriodID) throws InterruptedException { try{
public void setPeriodID(String bookingsBOPeriodID) throws InterruptedException {
try{
final String FilePath=UtilLib.getEnvVar("ConfigXMLFilePath");
String filepath = FilePath;
String bwperiodid=" and ";
DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
Document doc = docBuilder.parse(filepath);
// Get the staff element by tag name directly
Node Parameters = doc.getElementsByTagName("Parameters").item(0);
// loop the staff child node
NodeList list = Parameters.getChildNodes();
for (int i = 0; i < list.getLength(); i++) {
Node node = list.item(i);
//BookingsBO
if (bookingsBOPeriodID!=null && bookingsBOPeriodID.length()!=0 && "BookingsBOINPeriodId".equals(node.getNodeName()) && bookingsBOPeriodID.indexOf(bwperiodid)==-1 ){
System.out.println("***** Updating Bookings BO IN Period id ********");
System.out.println("inside updateEnvPeriodID::"+bookingsBOPeriodID);
node.setTextContent(bookingsBOPeriodID);
// node.setNodeValue(bookingsBOPeriodID);
}
}
// write the content into xml file
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
DOMSource source = new DOMSource(doc);
StreamResult result = new StreamResult(new File(filepath));
transformer.transform(source, result);
System.out.println("******* Period Id details updated **************");
} catch (ParserConfigurationException pce) {
pce.printStackTrace();
} catch (TransformerException tfe) {
tfe.printStackTrace();
} catch (IOException ioe) {
ioe.printStackTrace();
} catch (SAXException sae) {
sae.printStackTrace();
}
System.out.println("in period id after update :"+ UtilLib.getParam("BookingsBOINPeriodId"));
}
public void setPeriodID(String bookingsBOPeriodID)引发中断异常{
试一试{
最终字符串FilePath=UtilLib.getEnvVar(“ConfigXMLFilePath”);
字符串filepath=filepath;
字符串bwperiodid=“and”;
DocumentBuilderFactory docFactory=DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder=docFactory.newDocumentBuilder();
Document doc=docBuilder.parse(文件路径);
//直接按标记名获取staff元素
节点参数=doc.getElementsByTagName(“参数”)。项(0);
//循环staff子节点
NodeList list=Parameters.getChildNodes();
对于(inti=0;i
webinterface中的新值通过“bookingsBOPeriodID”传递。此方法之后,新值不会立即反映在XML中,请让代码等待一段时间,然后再从XML读取数据。
您应该为此类操作同步您的资源和流程。清理您的项目并重新启动您的系统server@Khan当前位置我们也试过了,但没用。该流程类似于@updatethexml,检索值以执行操作。当我们在服务器上手动运行时,它工作正常,但当我们尝试在Web界面上运行时,情况并非如此。请上传您的代码好吗?@khAn:用代码更新了问题,请提供帮助