jsp:scriptlet bug
<jsp:scriptlet>
String l_string = "{0,number,000.00 $}";
</jsp:scriptlet>
I am getting the following error if I have the above code in a JSP; Looks like its a tag library issue.
-->String literal is not properly closed by a double-quote
in addition I am using MyEclipse 5.0 editor, and its producing this compilation error with using following libraries,
10/31/2006 12:31 PM 188,671 commons-beanutils-1.7.0.jar
10/31/2006 12:31 PM 559,366 commons-collections-3.1.jar
10/31/2006 12:31 PM 207,723 commons-lang-2.1.jar
10/31/2006 12:31 PM 38,015 commons-logging-1.0.4.jar
10/31/2006 12:31 PM 210,432 displaytag-1.1.jar
10/31/2006 12:31 PM 12,590 displaytag-export-poi-1.1.jar
10/31/2006 12:31 PM 1,145,105 itext-1.3.jar
10/31/2006 12:31 PM 20,682 jstl-1.1.2.jar
10/31/2006 12:31 PM 358,085 log4j-1.2.12.jar
10/31/2006 12:31 PM 802,216 poi-2.5.1.jar
10/31/2006 12:31 PM 508,651 standard-1.0.6.jar
Similar Messages
-
JSP bug or JSP container bug?
This the following a JSP bug or JSP container bug?
When I put:
<jsp:declaration>
void method() {
</jsp:declaration>in a JSP page it runs fine, but when I put:
<jsp:declaration>
void method() {
for(int idx=0; idx<5; idx++) {
</jsp:declaration>in a JSP page I get:
HTTP Status 500 -
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: /doc/c11/XmlSyntaxDeclarations.jsp(54,17) Unterminated <jsp:declaration> tag
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:39)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:134)
org.apache.jasper.compiler.Parser.parseXMLDeclaration(Parser.java:695)
org.apache.jasper.compiler.Parser.parseElements(Parser.java:1545)
org.apache.jasper.compiler.Parser.parse(Parser.java:126)
org.apache.jasper.compiler.ParserController.doParse(ParserController.java:220)
org.apache.jasper.compiler.ParserController.parse(ParserController.java:101)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:203)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:470)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.0.27 logs.
Apache Tomcat/5.0.27What gives? I'm having the same problem with a scriptlet!
This works:
<jsp:scriptlet>
cntInt++;
out.println("cntInt = "+cntInt);
</jsp:scriptlet>but this doesn't works:
<jsp:scriptlet>
cntInt++;
out.println("cntInt = "+cntInt);
for(int idx=0; idx<cntInt; idx++) {
</jsp:scriptlet>...it can't seem to handle for loop? Does anyone know why? -
Looking up a EJB 3.0 Session Bean in JSP Scriptlet
Hello There,
Somebody please enlighten me. I have a bean named
a.b.MyBeanextending local interface
a.b.MyLocalNow I want to use this bean in a JSP (Maybe just for fun, but the point is I am not using resource injection).
So the question is, What is the default JNDI name of the session bean with only a local interface, which I can use to look-it-up in jsp scriptlet code.
Cheers. Am trying for last hour, nothings turned up
ByeIt's the classname under the initial context or a.b.MyLocal in your case.
<% MyLocal intf = null;
try {
InitialContext context = new InitialContext();
intf = (MyLocal) context.lookup(MyLocal.class.getName());
} catch (Exception ex) {
System.err.println("Error looking up MyLocal: " + ex.getMessage());
} %> -
Error while using jsp scriptlet or expression with JSPDynpage default jsp
Hi everyone,
I am getting the following error while trying to use any kind of jsp scriptlet or expression within the default jsp page that is created with JSPDynpage application:
Portal Runtime Error
An exception occurred while processing a request for :
iView : Navroz_JSPDynPage_JCo_BAPI_FLCUST.FlightCustJSP
Component Name : Navroz_JSPDynPage_JCo_BAPI_FLCUST.FlightCustJSP
Error occurs during the rendering of jsp component.
Exception id: 08:50_05/10/06_0032_17543050
See the details for the exception ID in the log file
For example if I try to use even simple syntax like:
<% if(true) { %>
display htmlb tableviewcomponent
<% } %>
or
<hbj:tableView
id="myTableView"
model="flightCustomer.model"
design="ALTERNATING"
headerVisible="true"
footerVisible="true"
fillUpEmptyRows="true"
navigationMode="BYLINE"
selectionMode="SINGLESELECT"
headerText="Flight Customer List"
onNavigate="Navigate"
visibleFirstRow="<%=flightCustomer.getVisibleFirstRow()%>"
visibleRowCount="5"
rowCount="16"
width="500 px"
/>
here also the <%=flightCustomer.getVisibleFirstRow()%> line gives the above mentioned error. If I remove such scriptlets or expression then it works fine.
What could be the problem. Are jsp scriptlets or expressions incompatible with portal applications?hi Navroz,
check this
https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/90e8e837-cc15-2a10-8db1-a87e2d29e9c9
Re: Defining HTMLB tags in jsp file of JspDynPage component
Re: JSPDynPage does not work in EP6.0
bit more
JspDynPage with Client Side Eventing and Database
https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/b3c1af90-0201-0010-c0ac-c8d802d264f0
let me know u need any further info
bvr -
Accessing a JSTL variable in a JSP Scriptlet (need to replace string )
I have
<c:set var="myVar" value="..." />
I need to replace single quotes and double quotes to be escaped because I pass them into javascript functions and set them as ID for div sections
... onclick ="func('${myVar}')" ..
<div id="${myVar}">
but if the string contains ' single quotes it messes up the javascript or double quotes messes up the ID portion of the HTML tag
I know there is the JSTL function fn but I can't figure out how to do it properly in JSTL
<c:set var="myVar"
value="${fn:replace(myVar, "'", "\"")"/>
But that gets tricky since the value portion is enclosed in quotes
So I was thinking of using a Scriptlet part instead.
escaping quotes within quotes within quotes.... ARGH!
Recipe for a headache if ever there was one.
However you must be strong and resist the temptations of the dark side (Scriptlet code)
My suggestion for cleaning this up - write your own static function for escaping javascript strings.
public static String escapeJavascriptString(String s){
return .......
}Then define the function in a tld:
<function>
<description>
Escapes a string for javascript purposes
</description>
<name>escapeJavascript</name>
<function-class>com.mypackage.ELFunctions</function-class>
<function-signature>java.lang.String escapeJavascript(java.lang.String)</function-signature>
<example>
<c:out value="${myfunc:escapeJavascript(name)}">
</example>
</function>Cheers,
evnafets
escaping quotes within quotes within quotes.... ARGH!
Recipe for a headache if ever there was one.
However you must be strong and resist the temptations of the dark side (Scriptlet code)
My suggestion for cleaning this up - write your own static function for escaping javascript strings.
public static String escapeJavascriptString(String s){
return .......
}Then define the function in a tld:
<function>
<description>
Escapes a string for javascript purposes
</description>
<name>escapeJavascript</name>
<function-class>com.mypackage.ELFunctions</function-class>
<function-signature>java.lang.String escapeJavascript(java.lang.String)</function-signature>
<example>
<c:out value="${myfunc:escapeJavascript(name)}">
</example>
</function>Cheers,
evnafets
How to use jsp:scriptlet in site template
hi all,
I want to use <jsp:scriptlet> in site template, but jdev showed me an error msg when I put <jsp:scriptlet> in site template:
scriptlet can not work properly with OJSP, I checked the forums, one possible solution is to encapsulate java code in jsp taglib, but I dislike this solution.
Is there a way to disable OJSP? or any solution to use java code in site template?
Best regards
I believe the official word is if you are trying to use java code in a scriptlet in your site template then you are doing something wrong.
The goal is to keep java code separate from the template and pages. Any logic should go to your supporting serviece objects and all of your front-end work should be accomplished using available or custom tags.
Can you describe what you are trying to accomplish with this java code in your template?
Char into balise jsp:scriptlet in jsp with xml syntax
hello,
i met a trouble with coding jsp with xml syntax,
i use wsad to develop the jsp, and it's not allowed to put characters < or > into the balise scriptlet
for example i cant do a loop (as i did easily with html syntax <% %> ) :
this his the header of my jsp:
<jsp:directive.page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1" />
<jsp:text>
<![CDATA[ <?xml version="1.0" encoding="ISO-8859-1" ?> ]]>
</jsp:text>
<jsp:text>
<![CDATA[ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> ]]>
</jsp:text>
and the code which dont work:
<jsp:scriptlet>
for (int i=0;i<10;i++){
System.out.println(i);
</jsp:scriptlet>
i get a compilation error, did someone could help me to code dynamic content jsp ?
ps: excuse me for my english.
I don't use xml, so I may be way off the wall, but did you try using the CDATA sections again?
<jsp:scriptlet>
<![CDATA[
for (int i=0;i<10;i++){
System.out.println(i);
]]>
</jsp:scriptlet>
Class and Methods in JSP Scriptlets?
Is it possible to declare functions or classes in a JSP scriptlets? If so, what would be the proper syntax in doing so?
Use the exclamation mark.
<%!
public void doSomething() {
// Implement.
%>Although rather use servlets or beans for business logic and use JSP for display only.
Error:the prefix "jsp" for element "jsp:scriptlet" is not bound
i got this error:
the prefix "jsp" for element "jsp:scriptlet" is not bound.how can i remove this error.
Add this to the jsp:root tag
xmlns:jsp="http://java.sun.com/JSP/Page"
How did it get removed from your JSP?
(assuming you are using Sun Java Studio Creator)
Nitro 1.1 JSP compilation bug
empty
I am starting to see a pattern here of problems. One issue might be that we
are using Resin as a container. Im not sure if that is contibuting to some
compile issues but it might. For example, nitro complains about this
scriptlet
<%
this.getServletContext().log("Bad Hashcode for RegulatoryApplication");
%>
Changing the "this" to "seesion" fixes it. Since this works in resin, I
assume resin, I assume it is an container issue.
Nitro's jsp complier seems to really not like stuff like this:
<% if (noUser.booleanValue()) { %>
href="javascript:window.alert('You must be a member of DrillingInfo to
access the download functions.')">Download this data</a>
<% } else { %>
href="/download.do?type=prod&format=<%=com.drillinginfo.struts.actions.downl
oad.ProductionDownloadController.DOWNLOAD_FORMAT_DRI %>"
target="_blank">Download this data</a>
<% } %>
Giving an error "syntax error on else: finally expected"
Is there some way to turn off jsp complile entirely or on a file by file
bases?
"Alan Berezin" <[email protected]> wrote in message
news:[email protected]...
Installed Nitro1.1 along with it's eclipse3.0.I am seeing an error reported in a scriptlet. Here is a clip of the JSP:
table bgcolor="eeeeee" width="650"
% int[] npvp =
(int[])calcAnalysisDO.getNetPresentValuePercentsIntegers();
logic:iterate name="calcAnalysisDO" property="netPresentValues"
id="value"
indexId="index"
tr
td><font face="Arial, Helvetica, sans-serif"
size="2"><b><%=npvp[index.intValue()]%>%</b
$<bean:write name="value" format="###,###"/></font></td
/tr
/logic:iterate
/table
It is reporting an error on this line: <% int[] npvp ...
The error is "Type Mismatch: cannot convert from null to int"
Interestly, when I move that statement to the top of the file, into a
scriptlet with some other code, the error disappears. That will work fine
at runtime.
This jsp scriptlet causes the same error: <%=
leaseData.getWells().toString() %
I change it to this but still get the same error (getWells() returns a
String): <% out.print(leaseData.getWells()); %
Note that Nitro knows this object, leaseData, because it properly does
statement completion on it.
Passing variables between data tag and JSP-scriptlets
Hi,
There were some questions about this issue. However, the answers were not satisfactory.
I would like to assign the value returned from data tag to a variable in JSP-scriptlets as follows:
<%@ taglib uri="/webapp/DataTags.tld" prefix="jbo" %>
<br>
<jbo:ApplicationModule id="isae.OPKv1.OPKv1Module" configname="isae.OPKv1.OPKv1Module.OPKv1ModuleLocal" username="t1" password="t1"/>
<br>
<!-- a record is selected -->
<jbo:DataSource id="ds" appid="isae.OPKv1.OPKv1Module" viewobject="AePk100View" whereclause=" <%= ic %> " />
<br>
<jbo:Row id="privRow" action="CURRENT" datasource="ds">
<%
String privName = (String) privRow.getAttribute("ArBau325"); // this is the suggestion of William Dwight (Jan 21, 2001 this forum)
%>
</jbo:Row>
This code did not work. I have obtained an error :
java.lang.ClassCastExeption
Any help would be greatly appreciated.
Thanks
The value return by the getAtribute might not be of type String. If you want to return a String value you need to convert the value using the toString method as follow:
<jbo:Row id="privRow" action="CURRENT" datasource="ds"/>
<%
String privName = "";
Object obj = privRow.getAttribute("ArBau325");
if (obj != null)
privName = obj.toString();
%>
Also note that you do not need to put the scriplet code inside the body of the row tag.
Charles.
How to reach Struts variables in a JSP scriptlet?
hello!
First I would like to clarify, I know writing scriptlet code (eg database connect) in a JSP page is basicly wrong, but I have to make a project that way, because my Java teacher asked so.
My problem is the following: I have a struts-config.xml:
<?xml version="1.0" encoding="windows-1250" ?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
<struts-config>
<form-beans>
<form-bean name="form-bean0" type="neptun.UserFormBean"/>
</form-beans>
<action-mappings>
<action path="/loginAction" input="/login.jsp" type="neptun.LoginAction"
name="form-bean0">
<forward name="success" path="/loggedIn.jsp"/>
</action>
</action-mappings>
<message-resources parameter="neptun.ApplicationResources"/>
</struts-config>It creates a form-bean0 object, using my UserFormBean class.
This class has two variables: login and password. Of course it has the accessors
When the user tries to log in, the variables are set through struts-html tags:
<html:text property="login" size="6"/>After the neccessary action called, and the user could be verified, it forwards to a page called loggedIn.jsp
Now my problem is that I would like to reach the login variable, containing the username of the user. When I insert ${param.login} to the jsp code, it works. But I would like to have a variable in my scriptlet code, which contains the user name. param object are not accessible, and session object contains only a reference to form-bean0. I think I dont have to write use-bean tag, because struts framework automatically does this.
Thank you for your help!
Balazs
I may have used the term incorrectly. Basically I meant using the <jsp:include> tag to invoke a servlet directly. Then the servlet could send the output you need. That way you could keep things more modular.
So for example -- you say you have a servlet with these values. Maybe you could add some functionality to it so if it's invoked with a particular URL, it produces output displaying these values.
Then you could use <jsp:include> to invoke that new functionality via that URL.
Just an idea.
Paging in JSP(Scriptlets) help-me! help-me! help-me!
Somebody can order an example of paging in JSP. does not obtain to make the paging.... Please, somebody can help.....� an urgency case me! In case that somebody has some example please, [email protected] orders pro email If possivel in Scriptlets
Very Obliged!
<%@ page import="java.sql.*" %>
<%@ page errorPage="err.jsp" %>
<%
By VendeW and Shibayama
%>
<html>
<body>
<center>
<h2>Pagina��o usando JSP e MySQL</h2>
<table border="2">
<tr bgcolor="tan">
<th>id</th><th>Titulo</th><th>Image</th><th>Descri��o</th></tr>
<%
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
Connection conexao = DriverManager.getConnection("jdbc:odbc:book");
Statement declaracao = conexao.createStatement();
Statement declaracao2 = conexao.createStatement();
int limitePorPagina = 5;
ResultSet resultado = declaracao.executeQuery("Select * from tbl_livro limit " + request.getParameter("pr") + "," + String.valueOf(limitePorPagina));
ResultSet rs2 = declaracao2.executeQuery("Select count(*) as c from tbl_livro");
rs2.next();
int totalregs = Integer.parseInt(rs2.getString("c"));
%>
<b>Total de Registros: </b><%=totalregs%>
<%
int totalpgs = Math.round(totalregs / limitePorPagina);
out.write("<b>P�ginas:</b> " + totalpgs);
if ((totalregs % limitePorPagina) > 0) totalpgs++;
int pr = Integer.parseInt(request.getParameter("pr"));
try {
while (resultado.next()) {
String id = resultado.getString("id_livro");
String nm = resultado.getString("nm_livro");
String img = resultado.getString("image");
String desc = resultado.getString("desc_livro");
%>
<tr>
<td><%=id%> </td>
<td><%=nm%> </td>
<td><%=img%> </td>
<td><%=desc%> </td>
</tr>
<%
}//while (resultado.next())
%>
</table>
<%
}//try
catch (SQLException e) { out.println("SQL Error" + e); }
if (pr > 0) {
%>
[Primeira P�gina]
<a href="?pr=<%=pr-limitePorPagina%>">[Anteriores]</a>
<%
}//if (pr > 0)
if (pr < (totalpgs * limitePorPagina) - limitePorPagina) {
%>
<a href="?pr=<%=pr+limitePorPagina%>">[Pr�ximos]</a>
<a href="?pr=<%=(totalpgs * limitePorPagina) - limitePorPagina%>">[Ultima P�gina]</a>
<%
}//if (cont < totalpgs)
%>
</center>
</body>
</html>
I took my taglib's and tried to move them
over to get them working on 6.0.
I now get an error:
Parsing of JSP File '/showdate.jsp' failed:
/showdate.jsp(1): Error in using tag library uri='date' prefix='/date.tld':
There is no setter method for property 'datestring', for Tag class
'com.almaer.taglib.date.ShowDateTag'
probably occurred due to an error in /showdate.jsp line 1:
<%@ taglib uri="/date.tld" prefix="date" %>
However I do have a setDatestring() method. I have tried various taglibs
that are in production working fine.
Is this a known bug? Has anyone else run into this?
I also find that precompile=true in weblogic.xml doesn't seem to do anything
Who does the QA for this? ;)
Dion
Dion Almaer | [email protected]
CustomWare | http://www.customware.com
Thank you. I changed my setter to be setFoo() and have the attribute foo in
my tag and it worked. For some reason some values don't work in there. I
haven't worked out
if the problem is a) having a variable x and then having a setX() or whether
it has something to do with the properties of the name that you call it.
Crazy.
Dion
"newsgroups.bea.com" <[email protected]> wrote in message
news:[email protected]...
> I encountered this problem several times. I don't know why. The setter
> method is exactly there. Finally I changed the spelling of the properties
> and setter method to solve this problem. It worked. I think there are some
> words cannot be used as names of properties. It should be a bug of WL 6.0
>
> "Dion Almaer" <[email protected]> ¼¶¼g©ó¶l¥ó
> news:[email protected]...
> > I took my taglib's and tried to move them
> > over to get them working on 6.0.
> >
> > I now get an error:
> >
> > Parsing of JSP File '/showdate.jsp' failed:
> >
>
> --------------------------------------------------------------------------
> --
> > ----
> >
> > /showdate.jsp(1): Error in using tag library uri='date'
> prefix='/date.tld':
> > There is no setter method for property 'datestring', for Tag class
> > 'com.almaer.taglib.date.ShowDateTag'
> > probably occurred due to an error in /showdate.jsp line 1:
> > <%@ taglib uri="/date.tld" prefix="date" %>
> >
>
> --------------------------------------------------------------------------
> --
> > ----
> >
> >
> > However I do have a setDatestring() method. I have tried various
> taglibs
> > that are in production working fine.
> > Is this a known bug? Has anyone else run into this?
> >
> > I also find that precompile=true in weblogic.xml doesn't seem to do
> anything
> > :)
> > Who does the QA for this? ;)
> >
> > Dion
> > -------------------------------------------------------------
> > Dion Almaer | [email protected]
> > CustomWare | http://www.customware.com
> >
> >
> >
> >
> >
>
>
How are the buttons reffered in JSP scriptlet
hi all
i am currently working with enabling and disabling of buttons at run time using functions in scriptlets which is refers
document.form name.button id.disable=false;
the error raised so far document.form name.button id is null or not valid
thanks for replying
but its still not working
i'll show you the code
function alert1(sam)
var a=sam.value.split("|");
var code=a[0];
alert("Fund Group Code is :- "+a[0]);
var name=a[1];
alert("Fund Group Name is :- "+a[1]);
var status=a[2];
alert("Review Status is :- "+a[2]);
var operatorID=a[3];
alert("Status is :- "+a[3]);
//var isReviewer=document.myform.reviewerFlag.value;
document.myform.addreview.disabled=true;
document.myform.modify.disabled=false;
if(reviewstatus == Pending)
document.myform.sendforreview.disabled = false;
document.myform.addreview.disabled = true;
if(reviewstatus == Pending_Reviewed && userID!=operatorID && isReviewer == REVIEWER)
document.myform.addreview.disabled = false;
document.myform.sendforreview.disabled = true;
if(reviewstatus == Reviewed)
document.myform.addreview.disabled = true;
document.myform.sendforreview.disabled=true;
document.myform.FundGroupBean.op.value= code;
// document.myform.action="viewreview.jsp";
// document.myform.submit;
</script>
<% ResultSet rs= (ResultSet)request.getAttribute("rs");
while(rs.next())
{%>
<tr>
<td>
<input type="radio" id ="radio" value="<%=rs.getString(1)%>|<%=rs.getString(2)%>|<%=rs.getString(3)%>|<%=rs.getString(4)%>"
onclick="alert1(this)" /></td>
<td><%= rs.getString(1)%></td>
<td><%= rs.getString(2)%></td>
<td><a href="viewreview.faces">
<%if(rs.getString(3).equals("1"))
out.println("Pending");
else if(rs.getString(3).equals("2"))
out.println("Review Pending");
else
out.println("Reviewed");%>
</a>
</td>
<td><%if(rs.getString(4).equals("1"))
out.println("Active");
else
out.println("Inactive");
%></td>
</tr>
<% } %>
Maybe you are looking for
-
RFC_ERROR while calling RFC FM from XI
Hi Guys, I am getting following error in the XI Monitor <rfc:ZFIBAPI_ACC_DOCUMENT_POST.Exception xmlns:rfc="urn:sap-com:document:sap:rfc:functions"><Name>RFC_ERROR_SYSTEM_FAILURE</Name><Text>Type conflict when calling a function module.
-
R12: only 1 line item in receivables after transfer from AGIS
Hello, I created 3 lines in an AGIS transaction and after approval in "Inbound", the lines were transferred to Receivables. But, in receivables line items, we have only one line having the total amount of the 3 lines. can anyone tell how generate sam
-
Help DDS Plugin In Elements 10
I installed the latest Nvidia DDS program into plugins file format in my Photoshop Elements 10 but when I try to open the DDS file it wont says wrong file format? What is wrong I need to use this program for recoloring cool things for the Sims 4 game
-
Is ti possible to hook a printer that has been hooked up to a PC before specifically "hp psc 2110 all-in-one" or do i need to buy a specific printer for mac book pro?
-
Standard Workflow for PR Release Multi-level
Good day, I have a multi-level PR release strategy connected to workflow and using exit M06B0001 Structure is as follows Release Codes: A1 - first level A2 - first level (back-up) B1 - second level B2 - second level (back-up) Objective: (upon creatio