Question

I get this error message

pageContext cannot be resolved 

but I have no variable pagecontext. This is the code (I know there are other problems here that are beyond the scope of this question):

<%@page import="se.prv.pandora.arendeprocess.util.PandoraPersonHandler"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jstl/fmt" prefix="fmt"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<%@ page import="org.apache.log4j.Logger" %>
<%@ page import="java.util.List" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="java.util.HashMap" %>
<%@ page import="java.util.Set" %>
<%@ page import="java.util.Map" %> 
<%@ page import="se.prv.pandora.arendeprocess.general.ArendeProcessLocator"%>
<%@ page import="se.prv.pandora.arendeprocess.page.ArendeProcessPageController" %>
<%@ page import="se.prv.pandora.arendeprocess.page.GrunduppgifterPageController" %>
<%@ page import="se.prv.pandora.arendeprocess.obj.Navigation" %>
<%@ page import="se.prv.pandora.arendeprocess.obj.AnsokanInfo" %>
<%@ page import="se.prv.pandora.arendeprocess.obj.Oversikt" %>
<%@ page import="se.prv.pandora.arendeprocess.obj.PersonInfo" %>
<%@ page import="se.prv.pandora.arendeprocess.obj.PersonInfoIndex" %>
<%@ page import="se.prv.pandora.arendeprocess.obj.Land" %>
<%@ page import="se.prv.pandora.arendeprocess.obj.ArendesokInfo" %>


<%@ page import="se.prv.pandora.arendeprocess.entity.Prioritet" %>
<%@ page import="se.prv.pandora.arendeprocess.util.PandoraFieldConstants" %>
<%@ page import="se.prv.pandora.arendeprocess.entity.Deposition" %>
<%@ page import="se.prv.pandora.arendeprocess.util.ArendeComparatorManager" %>
<%@ page import="se.prv.pandora.arendeprocess.obj.ArendeSearchAdmin" %>
<%@ page import="se.prv.framework.forms.IFormData" %>
<%@ page import="se.prv.framework.general.Action" %>
<%@ page import="java.util.Iterator" %>
<%@ page import="java.text.DateFormat" %>
<%@ page import="java.text.SimpleDateFormat" %>
<%@page import="se.prv.pandora.arendeprocess.obj.ArendeProcessSessionData"%>
<%@ page import="se.prv.pandora.arendeprocess.util.PandoraConstants" %>
<%@page import="se.prv.pandora.arendeprocess.entity.PRVNummerPerson"%>


<%@ page import="se.prv.pandora.arendeprocess.entity.Region" %>
<%@ page import="se.prv.pandora.arendeprocess.obj.Land" %>
<%@ page import="se.prv.pandora.arendeprocess.entity.LandKod" %>
<%@ page import="se.prv.pandora.arendeprocess.util.MessageHandler" %>
<%@page import="se.prv.pandora.arendeprocess.general.PandoraManager"%>
<html>
<head><link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.1/themes/base/jquery-ui.css">
    <link href="css_js/styles.css" rel="stylesheet" type="text/css">
    <link href="css_js/positions.css" rel="stylesheet" type="text/css">
    <link href="css_js/dialog_box.css" rel="stylesheet" type="text/css">
    <link href="css_js/floats.css" rel="stylesheet" type="text/css"> 
    <script language="JavaScript1.2" src="css_js/jquery-1.7.1.min.js" type="text/javascript"></script>
        <script language="JavaScript1.2" src="css_js/jquery-ui-1.8.17.custom.min.js" type="text/javascript"></script>   
    <script language="JavaScript1.2" src="css_js/sorttable.js" type="text/javascript"></script>
    <script language="JavaScript1.2" src="css_js/general_arendeprocess.js" type="text/javascript"></script>
    <script language="JavaScript1.2" src="css_js/dialog_box.js" type="text/javascript"></script>
    <script language="JavaScript1.2" type="text/javascript">
    function ingVar(x) { 
    var applicationDependence;
    applicationDependence = x;
    document.getElementById('ff').style.display='none';
    document.getElementById('avd').style.display='none';
    document.getElementById('utb').style.display='none';
    document.getElementById('oepa').style.display='none';
    document.getElementById('aooep').style.display='none';
    if (applicationDependence == 'ff'){ 
            document.getElementById('ob').style.display='none';
            document.getElementById('ff').style.display='';
            }
    if  (applicationDependence == 'avd'){
            document.getElementById('ob').style.display='none';
            document.getElementById('avd').style.display='';
            }
    if  (applicationDependence == 'utb'){
            document.getElementById('ob').style.display='none';
            document.getElementById('utb').style.display='';
            }       
    if  (applicationDependence == 'oepa'){
            document.getElementById('ob').style.display='none';
            document.getElementById('oepa').style.display='';
            }
    if  (applicationDependence == 'aooep'){
            document.getElementById('ob').style.display='none';
            document.getElementById('aooep').style.display='';
            }       
    if  (applicationDependence == 'ob'){
            document.getElementById('ob').style.display='';
            }       
    }

function popup() {
    //alert('opening popup');
    var popup = $('.newpopup');
    popup.draggable();
    //popup.resizable();
    //popup.html('<p>Where is pancakes house?</p>');
    //popup.show('fast');

    //Comment me out and use the version below to show working

  $.ajax({url:'/PandoraArendeWeb/popup.jsp',
            error: function() {
                alert('Error');
            },
            success: function(data) {   
                popup.html(data); 
                popup.show('fast');
            }
       }
   ); 

   /*
    popup.html("test"); 
    popup.show('fast');
    */
    var screen_width = $(document).width();
var screen_height = $(document).height();
var box_width = popup.width();
var box_height = popup.height();

var top = (screen_height - box_height) / 2; // you might like to subtract a little to position it slightly higher than half way
var left = (screen_width - box_width) / 2;
    popup.css({ 'position': 'absolute', 'top':top, 'left':left, 'overlayShow':true,'transitionIn'  : 'elastic','transitionOut' : 'elastic','opacity'       : '0.80' });
}

$(".newpopup").css('background-color', 'white');

$(document).ready(function(){
  $('button').click(function(){
     popup();
  });
})

function popup2() {
    alert('test');
    var popup = $('.newpopup');
    popup.draggable();

    //popup.resizable();
    //popup.html('<p>Where is pancakes house?</p>');
    //popup.show('fast');

       $.get('/PandoraArendeWeb/popup.jsp', function(data) {   

        popup.html(data); 
        popup.show('fast'); 
    }); 

    var screen_width = $(document).width();
var screen_height = $(document).height();
var box_width = popup.width();
var box_height = popup.height();

var top = (screen_height - box_height) / 2; // you might like to subtract a little to position it slightly higher than half way
var left = (screen_width - box_width) / 2;
    popup.css({ 'position': 'absolute', 'top':top, 'left':left });
}
$(document).ready(function(){
  $('#mypopup').click(function(){
     popup();
  });
})

    $(document).ready(function() {
        var $dialog = $('<div></div>')
            .html('This dialog will show every time!')
            .dialog({
                autoOpen: false,
                title: 'Basic Dialog'
            });


        $('#opener').click(function() {
            $dialog.dialog('open');
            // prevent the default action, e.g., following a link
            $("#opener").load('PandoraArendeWeb/popup.jsp').dialog({modal:true}); 
            return false;
        });




    });

    </script>
    <title>Ingivningsdag - NAT. - Pandora </title>
</head>
<%
    final Logger logger = Logger.getLogger("arendeprocess_grunduppgifter.jsp");
    ArendeProcessPageController apc = new ArendeProcessPageController(request);
    GrunduppgifterPageController pc = new GrunduppgifterPageController(request);
    ArendeProcessSessionData sessionData =(ArendeProcessSessionData) PandoraManager.getSessionData(request);

    String arendeTyp = apc.getArendeTyp();
    boolean showSearch = false;
    boolean showSearchD = false;
    boolean showSearchP = false;
    boolean showSearchI = false;
    boolean showSearchR = false;
    boolean showSearch2 = false;
    boolean showSearchF = false; 
    boolean showSearchA = false;  
    boolean showSearchU = false;  
    boolean showSearchO = false;
    boolean showSearchEPa = false;
    boolean showSearchEPn = false;
    AnsokanInfo ansokanInfo = apc.getAnsokanInfo();
    PersonInfo editPerson = new PersonInfo();
    PersonInfo editOmbud = new PersonInfo();
    String chosenPersonTyp = "";
    String chosenPersonOrdNr = "";
    if(ansokanInfo != null && ansokanInfo.hasEditPersonInfo()) {
        editPerson = ansokanInfo.getEditPersonInfo();
        Action latestAction = sessionData.getLatestAction();
        chosenPersonTyp = latestAction.getActionModifier();
        //+1 eftersom listindex börjar på 0
        chosenPersonOrdNr = latestAction.getCurrIndexAsInt()+1+"";
    } else {
        editPerson.setFornamn(apc.getNyregPerson().getFornamn());
        editPerson.setEfternamn(apc.getNyregPerson().getEfternamn());
        editPerson.setForetag(apc.getNyregPerson().getForetag());
        //editPerson.setOrgnr(apc.getNyregPerson().getOrgnr());
        editPerson.setLandKod(apc.getNyregPerson().getLandKod());
        editPerson.setReferens(apc.getNyregPerson().getReferens());
    }
    if(apc.getLatestAction().equals("Namnsokning") && apc.getLatestActionCommand().equals("search")) {
        showSearch = true;    
    }
    if(apc.getLatestAction().equals("Arendesokning") && apc.getLatestActionCommand().equals("search")) {
        showSearchF = true;   
    }
    int nbOfRelatedPersons = 0;
    String relatedPersons = "";
    if(editPerson.getPersonTyp().containsKey(PandoraConstants.PERSONTYP_OMBUD)) {
        editOmbud = editPerson;

        PersonInfoIndex pii = editOmbud.getPersonTyp().get(PandoraConstants.PERSONTYP_OMBUD);
        if(pii!=null) {
            nbOfRelatedPersons = pii.getRelatedPersons().size();
            //Ska bara skrivas ut om inte ombudet gäller för alla sökande 
            if(ansokanInfo.getSokandeList().size()> nbOfRelatedPersons)
                relatedPersons = pii.getRelatedPersonsAsString();
        }   

        editPerson = new PersonInfo();
    }

    int vectr = 0; // får bara användas i errormessages.jspf
    IFormData ifData = sessionData.getFormData();

%>

<body id="content" onload="if(document.getElementById('beroende') != null) { ingVar(document.getElementById('beroende').value); }">


<br><br>S&ouml;k person/<br>f&ouml;retag:<br>
<input type="button" value="S&ouml;k" onClick="document.getElementById('popupF').style.display='';">

<div class="popup" id="popupF" 
<% if(!showSearchF) { %>
style="display: none;"
<% } %>
>
<%@ include file="WEB-INF/jspf/fullfoljd_fran_sok.jspf" %>


</div></div></div>


<div class="popup" id="popupSokNamn2" 
<% if(!showSearch2) { %>
style="display: none;"
<% } %>
>
<%@ include file="WEB-INF/jspf/namnuppgifter_sok2.jspf" %>
</div></div></div>

<div class="popup" id="popupSokNamn" 
<% if(!showSearch) { %>
style="display: none;"
<% } %>
>
<%@ include file="WEB-INF/jspf/namnuppgifter_sok.jspf" %>
</div></div></div>

<div class="popup" id="popupD" 
<% if(!showSearchD) { %>
style="display: none;"
<% } %>
>
<%@ include file="WEB-INF/jspf/handlaggare_sok.jspf" %>
</div></div></div>


<div class="popup" id="popupI" 
<% if(!showSearchI) { %>
style="display: none;"
<% } %>
>
<%@ include file="WEB-INF/jspf/ingivningsdag_sok.jspf" %>
</div></div></div>

<div class="popup" id="popupP" 
<% if(!showSearchP) { %>
style="display: none;"
<% } %>
>
<%@ include file="WEB-INF/jspf/prioriteter_sok.jspf" %>
</div></div></div>

<div class="popup" id="popupR" 
<% if(!showSearchR) { %>
style="display: none;"
<% } %>
>
<%@ include file="WEB-INF/jspf/rabattgrundande_sok.jspf" %>
</div></div></div>

</form>
<%@ include file="WEB-INF/jspf/arendeprocess_messages_inc.jspf" %>



<p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p>
</body>
</html>

And when I add this part it starts complaining about pagecontext:

<div class="popup" id="popupF" 
<% if(!showSearchF) { %>
style="display: none;"
<% } %>
>
<%@ include file="WEB-INF/jspf/fullfoljd_fran_sok.jspf" %>


</div>

I don't even have JSP code in the popup, I reduced it to plain HTML to prove that it is not my JSP that is causing this error:

<table width="100%" border="1" cellspacing="0" cellpadding="2" align="center" class="TB_nb">
  <tr>
  <td colspan="3" class="pusher TB_nb"><h2>Sök efter ärende</h2> 
</td>
  <td><a href="javascript:void(0)" onclick="document.getElementById('popupF').style.display = 'none';" align="right">X</a></td>
</tr>
</table>
<br><br>
<h2 class="pusher">Sök efter ärende</h2>
<div id="FVsok">

<div style="text-align: right; width: 100%; padding-right: 5%; padding-top: 5px;">
<span onClick="getElementById('FsokF').style.display='', getElementById('FbottomA').style.display='none', getElementById('FbottomV').style.display='', getElementById('FVsok').style.display='none'" class="link_sm">Visa s&ouml;kformul&auml;r</span>
</div>

</div>

<div id="FsokF">

<div style="text-align: right; width: 100%; padding-right: 5%; padding-top: 5px;; padding-bottom: 5px;">
<span onClick="getElementById('FsokF').style.display='none', getElementById('FbottomA').style.display='none', getElementById('FbottomV').style.display='', getElementById('FVsok').style.display=''" class="link_sm">D&ouml;lj s&ouml;kformul&auml;r</span>
</div>

<div style="width: 100%; margin-left: 15px; margin-right: 80px;" class="fontS80">

<div class="fl30">&nbsp;S&ouml;k efter ärende</div><div class="clear"></div>
<div class="fl30"><input type="text" size="60" name=""></div>
<div class="clear"></div>

<div class="fl30"><input type="button" value="Avbryt"></div>
<div class="fl10"><input type="button" value="  S&ouml;k  " onclick="javascript:doSubmit('Arendesokning', 'search')"></div>
<div class="clear">&nbsp;</div>
</div>

</div>
<div style="width: 100%; margin-left: 15px; margin-right: 15px;">
<table width="100%" border="0" cellspacing="0" cellpadding="4" align="center">
<tr>    
    <td><h3>Sökresultat:</h3></td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
</tr>
<tr>    
    <td colspan="4">En massa text <span class="link">Hj&auml;lp!</span> </td>
</tr>
<tr>    
    <td><input type="button" value="Visa alla"></td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
</tr>

<tr class="smallb">
    <td>Antal &auml;renden: <%= resultList.size() %></td>
    <td>&nbsp;</td>
    <td>Visa &auml;renden: <a class="link" href="javascript:doSubmit('MenyNavigation', 'REW_<%= thisPage %>')" > 

        </a>
        &nbsp;

        &nbsp;
        <a class="link" href="javascript:doSubmit('MenyNavigation', 'FWD_<%= thisPage %>')" > 

        </a> </td>
<td>&nbsp;</td>
</tr>
</table>

<table width="100%" cellspacing="0" align="center" class="sortable" id="unique_id">
<tr>
    <th class="thkant">Ärende</th>
    <th class="thkant">Ingivningsdag</th>
    <th class="thkant">Sökande1</th>
    <th class="thkant">Uppfinnare1</th> 
    <th class="thkant">Ombud1</th><!--
    <th class="thkant">Region</th>
    <th class="thkant">Land</th>
    <th class="thkant">Telefonnummer</th>-->
</tr>


<tr  class="g2" onmouseover="javascript:setStoreStyle(this)"; onmouseout="javascript:getStoreStyle(this)" <%}else{%>class="g1" onmouseover="javascript:setStoreStyle(this)" onmouseout="javascript:getStoreStyle(this)"<%} %> onclick="javascript:goToOversikt('','','','','','')" style="cursor:pointer;">

    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>

</tr>


</table>


<div id="FbottomV">
<table width="100%" align="center">
<tr>
<td align="left"><input type="button" id="visaknapp" value="Visa" disabled style="width:150px;" onClick="getElementById('sokR').style.display='', getElementById('bottomA').style.display='', getElementById('bottomV').style.display='none', getElementById('Vsok').style.display='', getElementById('sokF').style.display='none'"></td>
<td align="right"><input type="button" value="Avbryt" style="width:150px;" class="checkmargin"><input type="button" value="Infoga" disabled style="width:150px;"></td>
</tr>
</table>
</div>

<div id="FbottomA" style="display: none">
<table width="100%" align="center">
<tr>
<td align="left"><input type="button" value="&Auml;ndra i register" style="width:150px;"></td>
<td align="right"><input type="button" value="Avbryt" style="width:150px;" class="checkmargin"><input type="button" value="Infoga" style="width:150px;"></td>
</tr>
</table>
</div>
Was it helpful?

Solution

I think this is because of having scriplets in your JSP. You might have some scriptlet which is not closing the block properly.

Or could be some of your jspf's are is not having proper braces. Look at your generated Java code and debug where it has gone wrong.

Using Java code inside JSP should be avoided to get rid of these kind of problems. Java code should be put in Sevlets and EL should be used in JSP's.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top