java - 为什么我没有关于页面上下文的异常?

标签 java jsp jakarta-ee websphere-8

我收到此错误消息

pageContext cannot be resolved 

但我没有可变的页面上下文。 这是代码(我知道这里还有其他问题超出了这个问题的范围):

<%@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>

当我添加这部分时,它开始提示页面上下文:

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


</div>

我什至在弹出窗口中没有 JSP 代码,我将其简化为纯 HTML,以证明不是我的 JSP 导致了此错误:

<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>

最佳答案

我认为这是因为 JSP 中有 scriplet。您可能有一些脚本无法正确关闭 block 。

或者可能是您的某些 jspf 没有正确的大括号。查看生成的 Java 代码并调试出错的地方。

应避免在 JSP 中使用 Java 代码以消除此类问题。 Java 代码应该放在 Sevlet 中,EL 应该放在 JSP 中。

关于java - 为什么我没有关于页面上下文的异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11185540/

相关文章:

java - 在 gradle.properties 文件中使用 'android.debug.obsoleteApi=true' 时如何访问日志错误详细信息

java - 如何修复 java.lang.UnsupportedClassVersionError : test (class file version 52. 65535) 是使用不支持的预览功能编译的?

java - 双引号内的内容不会打印到 System.out

java - Spring Boot Web应用程序在WEB-INF中找不到图像

java - 在 Tomcat 启动时执行 JSP

java - 创建包含文本源的唯一字节点的 LinkedList

css - <c :out> tag in JSP 中的字体类型

java - 如何使用类路径正确编译Java类?

java - Spring WS 和 JAXB - 配置 SOAPMessageDispatcher、DefaultMethodEndpointAdapter 和 MarshallingPayloadMethodProcessor

java - Java SE应用程序可以集群吗