2017-10-19 106 views
0

我想要在這種情況下,如果方法被調用,方法內的代碼將能夠調用JavaScript方法在網頁中顯示彈出框。從java代碼執行JavaScript彈出框

我讀了一些關於腳本引擎的信息,但不確定它是否適用於這種場景。 或者我是否需要使用觀察者模式(例如網絡套接字)來偵聽任何事件?

// -------------------Create a Report------------------------------------------- 
//This method is being called. 
       @SuppressWarnings("unchecked") 
       @RequestMapping(value = "/proposal/", method = RequestMethod.POST) 
       public ResponseEntity<?> createReport(@RequestBody Report report, UriComponentsBuilder ucBuilder) { 
        logger.info("Creating Report : {}", report); 

        if (reportRepository.isReportExist(report)) { 
         logger.error("Unable to create. A report with name {} already exist", report.getCrisisID()); 
         return new ResponseEntity(new CustomErrorType("Unable to create. A Report with crisisID " + 
         report.getCrisisID() + " already exist."),HttpStatus.CONFLICT); 
        } 
        reportRepository.saveReport(report); 

        HttpHeaders headers = new HttpHeaders(); 
        headers.setLocation(ucBuilder.path("/CMOtoPMO/proposal/{crisisID}").buildAndExpand(report.getCrisisID()).toUri()); 

//Code will call the javascript function to call show a pop up/alert box in my webpage 

        return new ResponseEntity<String>(headers, HttpStatus.CREATED); 
       } 

回答

0

要調用JavaScript,您可以使用javax.script

import javax.script.*; 
... 
ScriptEngineManager manager = new ScriptEngineManager(); 
ScriptEngine engine = manager.getEngineByName("JavaScript"); 
... 
engine.eval(...); 

更多信息發現here