UIX JSP equivalent for JSTL 'set'?

Is there a UIX JSP tag that performs an analogous function to the JSTL tag 'set'? I would like to be able to setup local variables so that I don't have to repeat extended expressions.

You can (generally) speaking use JSTL's set in UIX JSP pages, and (mostly) use JSTL JSP tags with UIX JSP tags.
So, you should just be able to use <c:set>.
The major complexity in integrating the two is remembering that JSTL sets and iterates immediately, but UIX JSP evaluates EL expressions only once the last UIX JSP tag completes. This doesn't cause much of a problem with <c:set> or <c:if>, but does cause some major problems with <c:forEach>.
(A very similar problem is encountered when using JSTL tags with Java Server Faces JSP tags, so this is just a painful fact-of-life.)

Similar Messages

  • Is there a logic:match equivalent for JSTL?

    In a search page I execute a query which returns an array of objects (All objects are of the same object type and are cast to Object[]) and each object has many attributes. I tried using <logic:iterate>, but I was never successful in having it display any results. I believe this had something to do with the entire array being passed via session scope instead of just one record and me not specifying it properly with <logic:iterate>. I was able to successfully use <c:forEach> and it worked right away. I stuck with using that because of its "just works" ability in addition to using a lot of other JSTL code. However, one of the attributes that is being printed out needs to be parsed and is of the form "Yxxx". <logic:match> covers this very nicely, but when I specify it in the below code it is not able to find my variable in any scope.
    <c:forEach var="myResults" items="${sessionScope.result}" varStatus="status">
        <logic:match parameter='${myResults}' property='pin' value='Y'>
            <c:out value="Preeti"/>
        </logic:match>
    </c:forEach>I have done several google searches, but I haven't found a JSTL equivalent for <logic:match>. If there is one could someone please tell me what it is? In addition, although <logic:match> is great I still need to print out a substring of that attribute. Could someone tell me how to do that? If this is not possible could someone please tell me if its possible to use <logic:iterate> with an array of objects like I was attempting to do initially so that I could use <logic:match> at least?
    Thanks to all of you for your time.

    Yes you can use the logic:iterate tag. I think you have to specify the type of the exposed variable though. I prefer the forEach loop.
    I think you are using the wrong attribute in the logic:match tag. You should be using the "name" attribute rather than "parameter"
    Parameter attribute refers you to a request parameter, and I pretty sure you don't want that.
    So given the collection of objects in the session attribute "result"
    This should loop through them all, and see if they start with the letter 'Y'
    <c:forEach var="myResults" items="${sessionScope.result}" varStatus="status">
        <logic:match name='myResults' property='pin' value='Y'>
            <c:out value="Preeti"/>
        </logic:match>
    </c:forEach>As for the latter bit, are you using a JSP2 container and JSTL1.1? It would appear so seeing as you are trying to use EL expressions in the logic:match tag.
    If so, you could make use of the JSTL function library:
    <c:forEach var="myResults" items="${sessionScope.result}" varStatus="status">
       <c:if test='${fn:startsWith(myResults.pin, "Y")}'>
          <c:out value="${fn:substring(myResults.pin, 1, -1)}"/>
        </c:if>
    </c:forEach>And I've just spotted a very cool function in there: substringAfter
    <c:forEach var="myResults" items="${sessionScope.result}" varStatus="status">
          <c:out value='${fn:substringAfter(myResults.pin, 'Y')}'/>
    </c:forEach>Cheers,
    evnafets

  • Preparing JSP Taglibrary for JSTL and EL

    I have a taglibrary I've been working on that generates live GoogleMaps using 100% java (no javascript or AJAX needed by the developer). I would like to incorporate this library within JSTL, so users can place the GoogleMaps tags within JSTL tag (i.e. sql tag and c tags) so they can generate maps using database data to add markers, etc.
    Is there any special preparation needed to allow tags to accept EL as attribute values or is this built-in?
    Thanks in advance. I'm not a big JSTL user or I would have generated a test page myself.

    You need to allow your tags to accept EL?
    In a JSP2.0 container (eg Tomcat 5) it is built in. ${expr} is a runtime expression just like <%= expr %> is. So if you can use <%= expr %> with a tag, you can use ${expr}. As long as you have a JSP2.0 container (eg Tomcat 5) and have enabled the EL (by having your web.xml defined as being version 2.4)
    For older apps, still in Servlet2.3/JSP1.2 you couldn't use EL without modifying the tags. You would have to provide the EL evaluator yourself (there is one in jakarta commons) and evaluate each attribute using that manually. Effectively it is a complete duplicate set of tags just for EL.
    Struts-el is one example. Also JSTL1.0 had standard and rt versions for using ${expr} and <%= expr %> respectively with the tags.
    Does that answer your question?

  • What is the JSp equivalent method for PHP isset function

    Hai guys,
    can u tell me the JSP equivalent method for PHP isset function.

    isset checks what? parameters?
    if(request.getParameter("paramname") != null) {                                                                                                                                                                               

  • Book for servlet 2.4, jsp 2.0 & JSTL 1.1 ?

    but i am looking book covering the topic servlet 2.4 , jsp 2.0, JSTL 1.1 in detail because i am looking for in depth knowledge of all the topics (specially JSP, EL, JSTL, Custom Tags)

    I think the best source would be the specification. Seriously, they are really well written ( especially for JSTL ).
    regards,
    Tuan

  • UIX JSP For Business Components

    I am looking for option under Web Tier - UIX JSP For Business Components - Complete UIX JSP Application. I cannot see that option in Jdeveloper 10g which was avaialble in 9i. What is the turnaround for it.
    I have an application which I wanted to convert it to jsp, so that I could deploy it on the web.
    Thanks in advance.

    We removed the "complete application" wizard in JDeveloper 9.0.5 since the application it was generating was hard to customize. Check out the tutorials on the JDeveloper home page to see how to build a complete application.

  • One JSP Coded in JSTL with an Action Link and a Form

    My JSP written in JSTL with an action link works fine. The checkboxes are well recognized ( I have a "form" specified in both the action mapping and form bean).
    <%@ page import="......common.pojo.user.User" %>
    <!-- Create a variable in scope called userRows from the Users object -->
    <c:set var="userRows" value="${requestScope.Users}" />
    <c:choose>
         <c:when test="${not empty userRows}">
              <!-- create a "user" object for each element in the userRows -->               
              <c:forEach var="user" items="${userRows}" varStatus="idx">
                      <c:choose>
                              <c:when test="${( idx.count+1 )%2==0}">
                                 <tr class="contentCell1">
                              </c:when>
                              <c:otherwise>
                                 <tr class="contentCell2">
                              </c:otherwise>
                      </c:choose>
                                           <td align="center">
                                                              <html-el:checkbox property="selectedUsers[${idx.index}].selected" />
                                                              <html-el:hidden property="selectedUsers[${idx.index}].id" value="${user.id}"/>
                                           </td>
                                           <td align="center"><c:out value="${user.createdByUserID}" /></td>
                                           <td align="center"><c:out value="${user.firstName}" /></td>
                                           <td align="center"><c:out value="${user.lastName}" /></td>
                             </tr>
              </c:forEach>
                        <tr>
                             <td colspan="6" align="left">
                                      <html-el:link action="/admin/selectUsers.do">Edit Selected Users</html-el:link>
                             </td>
                           </tr>
                   </table>
              </c:when>
              <c:otherwise>
                   <center><H1>No User Found.</H1></center>
              </c:otherwise>
         </c:choose>
    ......But, if I add another form (form B) with some textfield(s) and a submit button in between the opening <c:when ...> and <c:forEach ... > tag, I get the "runtime" JSP error: "cannot find bean: "org.apache.struts.taglib.html.BEAN" in any scope".
    The form B also works well. And varStatus="idx" and var="user" still work. The complaint points specifically to the <html-el:checkbox property="selectedUsers[${idx.index}].selected" />. The getter method for selectedUsers[0].selected can no longer be recognized:
    <%@ page import="......common.pojo.user.User" %>
    <!-- Create a variable in scope called userRows from the Users object -->
    <c:set var="userRows" value="${requestScope.Users}" />
    <c:choose>
         <c:when test="${not empty userRows}">
                                    <html-el:form action="/admin/findUsers.do">
                                               // many textfields and a submit button
                                    </html-el:form>
              <!-- create a "user" object for each element in the userRows -->               
              <c:forEach var="user" items="${userRows}" varStatus="idx">
                      <c:choose>
                              <c:when test="${( idx.count+1 )%2==0}">
                                 <tr class="contentCell1">
                              </c:when>
                              <c:otherwise>
                                 <tr class="contentCell2">
                              </c:otherwise>
                      </c:choose>
                                           <td align="center">
                                                              <html-el:checkbox property="selectedUsers[${idx.index}].selected" />
                                                              <html-el:hidden property="selectedUsers[${idx.index}].id" value="${user.id}"/>
                                           </td>
                                           <td align="center"><c:out value="${user.createdByUserID}" /></td>
                                           <td align="center"><c:out value="${user.firstName}" /></td>
                                           <td align="center"><c:out value="${user.lastName}" /></td>
                             </tr>
              </c:forEach>
                        <tr>
                             <td colspan="6" align="left">
                                      <html-el:link action="/admin/selectUsers.do">Edit Selected Users</html-el:link>
                             </td>
                           </tr>
                   </table>
              </c:when>
              <c:otherwise>
                   <center><H1>No User Found.</H1></center>
              </c:otherwise>
         </c:choose>
    ......

    Hi,
    your strtus config file looks like
    <form-beans >
    <form-bean name="manageAuditFindingsForm" type="com.lib.struts.form.ManageAuditFindingsForm" />
    </form-beans >
    <action
          attribute="manageAuditFindingsForm"
          input="/New.jsp"
          name="manageAuditFindingsForm"
          path="/manageauditfindings"
          scope="request"
          type="com.lib.struts.action.ManageAuditFindingsAction">
          <forward name="success" path="/AuditFindings.jsp" />
        </action>Thanks
    Edward

  • Equivalent of JSTL / JSF variables in ADF Faces

    Is there any equivalent of JSTL core variables <c:set property="" value="" /> in ADF faces? ...The problem with those JSTL variables are they are immediate expressions ($) and they cannot be used with EL expressions in ADF component properties, as they deal with {# defered}..We have <f:attribute> which we add that to any component, but can retrived only using from backend code when any events are generated. like event.getComponent().getAttributes()....
    I am looking for some declarative attribute which holds some value within jsff page fragment....(not the one like managed bean attribute)

    Yes, We can use keep the variable in viewScope....But how do you define any variable in jsff declaratively in that viewScope (not using any backing bean method) .....if you see <c:set > you can define that in page and use it across.....I cant use property listener or action listener ..as i can set these values only on invoking certain action on a component....i want to set them based on certain condition like using c:if and not on some action...I dont see any way other than using some backing bean and binding with some property and setting some value...

  • How I can use struts with uix jsp

    Hi,
    I want to use struts with uix jsp but I don't know how to set value of uix tag attribut by struts tag
    example :
    I want to change:
    <uix:globalHeader text="title" >
    by
    <uix:globalHeader>
    <bean:message key="title" arg0="Browse"/>
    </uix:globalHeader>
    N.B: I tried to use the tag <boundAttribute> but doesn't works
    Thanks in advance.

    Hi Ghazouani,
    From your sample code it looks like you are trying to use the Struts <bean:message> to provide internationalized text for the links in your globalHeader component. Couple of comments on this particular issue:
    - You'll need to add a <link> element to your globalHeader for each item that you want to display. So, instead of:
    <uix:globalHeader>
    <bean:message key="title" arg0="Browse"/>
    </uix:globalHeader>
    You'll want something which looks like this:
    <uix:globalHeader>
    <uix:link text="Browse"/>
    </uix:globalHeader>
    - If you want to bind the text for each link to some internationalized value which is pulled from a ResourceBundle, you should use the UIX JSP <bundle> data provider:
    <uix:bundle name="l10n" class="your.Bundle"/>
    <uix:globalHeader>
    <uix:link textBinding="title@l10n"/>
    </uix:globalHeader>
    In general when mixing JSP tags from different tag libraries, you need to be careful that you honor the semantics of each tag library. For example, in this particular case, the <uix:globalHeader> expects to have <uix:link> children - using any arbitrary tag (like <bean:message>) is not necessarily going to produce the desired results.
    As far as general UIX/Struts integration goes, we recommend using uiXML as a view for your Struts application. Check out the "Using uiXML with Struts" section of the UIX Developer's Guide for more info.
    Andy

  • Which Web Client Framework? BC4J-JSP, UIX-JSP, UIX-XML, etc

    Trying to determine which, if any of the JDeveloper frameworks, to use for do web browser (HTML) clients.
    What are the pros/cons of BC4J-JSP, UIX-JSP, UIX-XML, etc?
    What are some common things you might rule out using one or more of the frameworks?
    I plan to be using BC4J, updating, inserting data (currently MS-SQL) and the apps will run on WebLogic 7 or Caucho Resin (webapps no EJB) in a cluster. I would like to be as RAD as possible and still be able to do what I need to do. One main concern is being able to add custom HTML/JavaScript for things like client side validation. I didn't see a way to do this when doing BC4J-JSP. Is that right?
    If I define any validation in the BC4J, will UIX utilized any of this to define a JavaScript validator or must it be redudantly defined?
    One other concern is what the framework requires in terms of architecture, like do I have to have sticky sessions in my web cluster or can it work fine stateless or stateful?
    For UIX-XML, how is this architected for performance? Specifically, is the XML effectively compiled and converted into something more efficient and performant or does it do XML parsing all the time? Is there any significant performance differences between the frameworks?
    Is there any significant difference in dealing with security? Anything in the framework to make it easier to handle certain users being able to see/edit different set of data?
    I have things like some groups can edit only certain entities (product info but not pricing), others only certain types of products (possibly subclass entities) and others situations where what fields than can edit varies. Obviously I can handle this programmatically, but I was wondering what the frameworks had to offer, especially in terms of having different views of the same data.
    Steve

    ...I am little confused then about how BC4J works and what is meant by "session" here.
    When you talk about appmodules in the plural, does this mean that there are potentially multiple instances of the same data on a single server or there is a common datastore with pending data and client specific stuff varying?
    The common datastore is the database. Each client (momentarily, during the span of their request) uses an instance of an application module from the pool. The pool can grow and shrink with load on your system and all of the various tuning parameters. Our doc on the AM Pool covers all the parameter settings and their users.
    What kind of "session" is this?
    It is an abstract notion of a session for a user. The implementation used for Web clients uses the HTTP Session Key as the session key. However, we have other session implementations (and you can provide your own to do custom stuff for more sophisticated needs). We don't store anything else in the HTTP Session to the best of my knowledge. This way in a cluster, the web container doesn't have to waste time propagating all of your serialized HTTP Session state among cluster members. This session key also include an id for the application module and together those provide the key to store your pending state in the database for the "Stateful == Managed State" feature.
    I assume that if I have a cluster which doesn't use session-to-same-server-affinity but uses JDBC for http-session persistance or distributed in-memory http-sessions then I cannot use stateful BC4J even though I can use http-sessions.
    You can use BC4J in this way because the browser will send a cookie that contains the key to your database-stored pending state. In this way, we work great in a server farm for failover and/or scalability reasons.
    Even if I use stateless BC4J, are there issues with round-robin'ng all requests to different servers in a cluster?
    As I said, both our Stateless and Stateful features are designed to be used in Server farms, no problem.
    BTW I wouldn't necessarily say you picked the wrongs terms for the modes, but I know what you mean. There's problems with these terms. I am trying to explain to my mgrs/engineers that there is some state in stateless transactions - that simply making everything "stateless" doesn't mean don't lose anything in a disastrous failure. I am arguing to get support for sessions in our cluster, that the performance gain and simplified development is worth it as long as you put intelligent limits on what you store in the session. Right now, they are insisting on randomly sending requests into two entirely different data centers, with two different clusters.
    Amen. I have seen too many developers make the mistake of trying to be totally stateless, only to completely complicate their development environment with having to peristent partially-completed transaction data to the database. I've seen this done with sets of "Shadow" tables (yuck!) or using hand-written techniques similar to what BC4J provides a robust implementation of in the box.
    We've tuned our "Stateless With Affinity for Server Farms" model over several releases of carefully studying the performance of the Web apps built by our internal Oracle Applications teams using BC4J (over 20 of them now, and growing!) so compared with a hand-written strategy for your web-tier state management, using BC4J's implementation will be much more productive for you.
    We're tuning and tweaking and enhancing it even more for the 9.0.3 release as new needs are highlighted with continued use by our customers (both Oracle internal and external).

  • How to use ShowValue within a UIX/JSP page to display an active link?

    I am storing URL's in the DB and want to display them as active links on a UIX/JSP page. I thought that I had this working some time ago, but now it no longer works.
    Using <bc4juix:RenderValue datasource="ds1" dataitem="myTextField" /> will display "http://www.otn.oracle.com" as an inactive link using UIX/XML which is expected.
    Using <jbo:ShowValue datasource="ds1" dataitem="myTextField" /> will display an active link using if using BC4J/JSP, which is expected.
    However, I have not been able to do this using a UIX/JSP page.
    Is it possible to use ShowValue within a UIX/JSP page to display an active link?
    Thanks,
    Bill G

    Hi Juan,
    I've done the following and it does not work for me;
    --- snip ---
    <uix:form name="form1" method="GET">
    <bc4juix:Table datasource="ds1" >
    <uix:columnHeaderStamp>
    <uix:styledText textBinding="LABEL"/>
    </uix:columnHeaderStamp>
    <%--
    <jbo:AttributeIterate id="dsAttributes" datasource="ds1" hideattributes="UixShowHide">
    <bc4juix:RenderValue datasource="ds1" dataitem="<%=dsAttributes.getName()%>" />
    </jbo:AttributeIterate>
    --%>
    <bc4juix:RenderValue datasource="ds1" dataitem="FacilityDesc" />
    <bc4juix:RenderValue datasource="ds1" dataitem="LocationId" />
    <bc4juix:RenderValue datasource="ds1" dataitem="LocationDesc" />
    <%-- ** THE FOLLOWING DOES NOT DISPLAY ON THE BROWSE_EDIT_PAGE ** --%>
    <jbo:ShowValue datasource="ds1" dataitem="Notes" ></jbo:ShowValue>
    <%-- ** THE FOLLOWING DOES NOT DISPLAY ON THE BROWSE_EDIT_PAGE ** --%>
    <uix:rawText>
    <jbo:ShowValue datasource="ds1" dataitem="Notes" ></jbo:ShowValue>
    </uix:rawText>
    <%-- ** THE FOLLOWING DOES NOT DISPLAY ON THE BROWSE_EDIT_PAGE ** --%>
    <uix:contents>
    <uix:rawText>
    <jbo:ShowValue datasource="ds1" dataitem="Notes" ></jbo:ShowValue>
    </uix:rawText>
    </uix:contents>
    --- snip ---
    Bill G...

  • Search/Query Form bc4j-uix-jsp

    Hi:
    Are there any samples of Search/Query jsps using
    bc4j -uix jsps?
    There are some on OTN using html.
    I want to set up a search page that users can select one or more(AND) from about 5 attributes
    of a view and then display approx 6-8 different attributes of that same view.
    Any input would be appreciated.
    Thanks.

    Once you create the Query-by-Form datawebbean, you can modify the templates in the templates\webapp directory by changing all usages of the FindForm bean to use your new DWB. You can also create a new webapp template by copying the existing file and creating a new directory. You can add you new template by modifying the templates\apptemplates.xml. The current entries are:
    <?xml version="1.0"?>
    <APPTEMPLATES>
    <TEMPLATE NAME="default" DIRECTORY="templates/webapp/" USETHEMESELECTION="YES">
    </TEMPLATE>
    <TEMPLATE NAME="Oracle" USEFORMSELECTION="NO" DIRECTORY="templates/cabowebapp/" THEMEDIR="/webapp/jsimages" THEMECSS="/webapp/cabo/images/cabo_styles.css" USETHEMESELECTION="NO" TOOLBARCLASS="oracle.jbo.html.databeans.JSNavigatorBar">
    </TEMPLATE>
    </APPTEMPLATES>

  • Registry key for the setting "Let printer determine colors"

    Hi,
    We have a Citrix environment with several Terminal servers. When people print PDF through Adobe Reader. We get the error message "Let printer determine colors".
    Then we have to select "Let printer determine colors" to allow Xerox printer to do the color handling.
    Is there a registry key or something I can do to alway let the Let printer determine colors?
    So that the users won`t be bugged with this message everytime?
    Regards Tom Ruben

    There are some docs that document all Reader settings, but these are rather difficult to navigate.  I do not even want to go and look for them now.
    If I have an issue like yours (need to know the registry equivalent for a certain Reader setting) I use Regshot: take a registry shot before and after the update, then compare what's changed.

  • Change language (uix jsp)

    How can I change language in uix jsp application? I want labels like NEXT, PREVIOUS,... in language otjer than US!

    Hello, I have a similar problem, but in JSF application and the mine is more frustrating. When I put my language (catalan) in the locate configuration int faces-config like this:
    <application>
    <locale-config>
    <default-locale>ca</default-locale>
    </locale-config>
    <default-render-kit-id>oracle.adf.core</default-render-kit-id>
    <message-bundle>missatgesADF</message-bundle>
    </application>
    the application appears in english instead of catalan. In spide of exist a class called BLAFBundle_ca wich contains the needed texts in catalan for show the ADF components, I coulden't do work. When I put "es_ES" instead of "ca" the components are showed in spanish correctly, and if I put "de" is showed in deutch correctly.
    I decided decompile the class MessageBundle_es_ES from adf-faces-api.jar, put it in my source project without change its package. I modified a validation message and it worked. I decide the same for change the ADF components literals ("expand all", "select all", "next"...) and I found it in BLAFBundle_es_ES, I found it in adf-faces-impl.jar and in uix2.jar (this last not used in my project). I do the same steps with the previous file, but doesn't works !!!

  • Master-Detail in UIX-JSP

    Hi:
    How can i do a master-detail in UIX-JSP similar in functionality BC4J-JSP?. I haven't found an HOW-TO or guide.
    Thanks
    Marco

    Yes this is easily done.
    If you have a BC4J project with say Emp and Dept View Objects which are linked via
    a foreign key (there should be a BC4J FKDeptnoLink created), then all you have to do
    is generate a BC4J UIX JSP application.
    In a separate empty project, open the New gallery and select UIX-JSP -> Business Components JSP Application.
    Generate a default JSP application for your BC4J components. You can then run main.jsp
    to see the app.
    To see a master detail view of your app which is based on the Bc4J Link (FKDeptno) just click
    on link "FkDeptnoLink" on the left side..
    -Chris

Maybe you are looking for

  • Playlists missing on new iMac 24"

    Playlists missing on new iMac 24". I have a backup of everything on my MacBook Pro - it has the correct playlists and all the files in it. What do I have to copy to get them on the new computer? Too many important playlists to redo if I don't have to

  • Is it possible to use the status of a checkbox to change the fillcolor of a numeric field?

    I have read through most all of the threads, but found none pertaining to my specific question.  I would like to change the fillcolor of a numeric field based upon the status (on/off) of a checkbox located on a different page.  In other words, if the

  • JComboBox Background Color

    Hi, When I use setBackground(Color.WHITE), the JComboBox button also changes to white. How do I set the JComboBox background to WHITE without affecting the button? Thanks.

  • Editing a web page online

    i know products like cushycms are great for editing web page content from a control panel of sorts - and then having the revised pages uploaded automatically - but is there a way that a page can be edited directly from it's own browser window? what i

  • Toshiba L675 Recovery Problem

    I have a Toshiba L675-S7048 and have tried restoring the unit to "Out of Box" state.  When I received the laptop about 1 year ago, I immediately created recovery dvds.  I used those Dvds two times and the recovery process does not seem to complete it