2017-09-11 3 views
0

Je travaille sur une interface utilisant des pages JSP et Javascript. Ma structure de projet est montrée ici.Appeler un jsp Page dans un iframe

project structure

Dans ma page JSP (veditor.jsp) sous vues, j'ai une division panneau Propriétés.

pic1

veditor.jsp

... 
<!--Container/Canvas--> 

    <div id="container" class="container"> 
    </div> 

<!--Properties Panel--> 

    <div style="float: left" class="property" id="propertypane"> 
     <h1 class="toolbox-titlex" id="toolbox-titlex">Properties</h1> 
     <iframe class = "panel" id="lot"></iframe> 
    </div> 
... 

Ici j'appeler la page selectClauseForm.jsp dans le panneau de iframe dans les propriétés veditor.jsp utilisant le veditor.js Javascript.

veditor.js

if (dropElem == "stream ui-draggable") { 
    var newAgent = $('<div>').attr('id', i).addClass('streamdrop'); 
    var elemType = "table"; 

    $("#container").addClass("disabledbutton"); 
    $("#toolbox").addClass("disabledbutton"); 
    $('#container').append(newAgent); 

    callSelectClauseForm(); 
} 

function callSelectClauseForm() 
{ 
    alert("Called before"); 
    document.getElementById("lot").src = 'selectClauseForm.jsp'; 
    alert("Called after"); 
} 

Je reçois deux alertes dans la méthode callSelectForm() mais le panneau Propriétés ne se charge pas et me fais l'erreur suivante.

error

Comme indiqué ci-dessus, lorsque vous appelez la méthode createTableForm(...), je dois appeler le selectClauseForm.jsp dans le iframe dans le veditor.jsp.

Est-ce parce que mon chemin est erroné dans l'emplacement src? Toutes les suggestions sur comment je peux charger le jsp à l'intérieur de l'iframe en utilisant Javascript seront très appréciées car je suis nouveau à ce sujet.

Répondre

2

Vous pouvez suivre ce URL. Qui charge le fichier jsp et ajoute ce contenu de réponse dans div.Vous pouvez obtenir la même chose dans l'iframe.

0

Vous pouvez faire une cartographie du contrôleur pour cette jsp comme suit,

@Controller 
@RequestMapping(value = "clause") 
public class ClauseController { 

    @RequestMapping(value="selectClause") 
    public String selectClause(ModelMap model) { 
    return "selectClauseForm.jsp"; 
    } 
} 

Ensuite, vous pouvez appeler l'url dans le iframe src,

function callSelectClauseForm() { 
    alert("Called before"); 
    document.getElementById("lot").src = 'clause/selectClause'; 
    alert("Called after"); 
}