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?

Similar Messages

  • HT5487 So we just got a new Macbook and I also installed the apple configurator tool. I'm using it to prepare the iPads for deployment and it won't let me prepare them? It gets an error stating "retrieving iOS info from apple" then it stops and says "inte

    So we just got a new Macbook and I also installed the apple configurator tool. I'm using it to prepare the iPads for deployment and it won't let me prepare them? It gets an error stating "retrieving iOS info from apple" then it stops and says "internet error". My Internet connection is fine with the Mac-book. It shows the iPad is listed under the Prepare logo up top as 1 but under supervise none are shown. Although it does show itself in iTunes. Also the profile I created is fresh and has no errors. We have tryed nearly everything I cna think of and online forums are not giving us to much info on this error. 

    A wag at this.  A port issue?
    "Apple Push Notification network setup
    When MDM servers and iOS devices are behind a firewall, some network configuration may need to take place in order for the MDM service to function properly. To send notifications from an MDM server to Apple Push Notification service, TCP port 2195 needs to be open. To reach the feedback service, TCP port 2196 will need to be open as well. For devices connecting to the push service over Wi-Fi, TCP port 5223 should
    be open."
    http://www.google.com/url?sa=t&rct=j&q=ports%20ios%20configure%20ipad&source=web &cd=1&ved=0CC0QFjAA&url=http%3A%2F%2Fimages.apple.com%2Fipad%2Fbusiness%2Fdocs%2 FiOS_MDM.pdf&ei=5lXGUPCcJMXx0gH2wYG4BA&usg=AFQjCNFzINvs7ktT-6o6Q_l4Qk2HkpjtCA&ca d=rja
    google: ports ios configure ipad
    Try it on your home network where there isn't a lot of 'controls' -- network filtering , firewalls, etc.
    Robert

  • 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.)

  • How to use same jsp for edit and add form

    Hi,
    I would like to use the same .jsp file for edit and add. I just want to change a few controls based on edit/add mode. How do I configure this in the jsp?

    In the environment I currently have access to do not have similar setup.
    Let say you setup the DFF1 default value to $HEADER.customer_name, the name of the DFF is CUSTOMER_NAME, description can be anything.
    In DFF2, default value should be a SQL, where you can reference the DFF1. For example, SELECT DECODE($FLEX.CUSTOMER_NAME, 'ABC', 1, 'DEF', 2, NULL) FROM dual
    In this case, you can reference the DFF1.

  • How to Prepare Flat File for Vendor Open Items for RFBIBL00

    Hi Experts,
    I have to prepare a flat file structure for vendor open items to use in RFBIBL00.
    I tried to take structure from the structures BBKPF and BBSEG structures.
    I have 59 fields in my file and I need to map these fields with the structures BBKPF and BBSEG to prepare the structures for
    Header and Items for vendor open items.
    Can any body help me how to prepare the flat file structures.
    Thanks & Regards,
    Sudheer
    Edited by: sudheer kumar on Dec 4, 2009 11:09 AM

    RFBIBL00 has a documentation please check it

  • 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

  • Error -34 and error -50 message while preparing a project for iDVD

    I keep getting an error -34 and and error -50 message when I try to prepare a project for sharing in iMovie. Does anyone know why this might be please?
    I managed to create a DVD before with this project but then went back in and changed some of the text clips to centred as they were not showing up when I played it on my TV (they were partially hidden - but that's another question!)
    I also got a message that there was not enough space on the disc although it was only 1 hr 13 mins and the DVD-R disc is 120 mins.
    thanks

    Memory is RAM and should not be confused with hard drive space.
    Open any Finder window and you will at the bottom of the window hor much free space you have. Less that about 20GB and you may have troubles.
    As you have an external hard drive (and assuming that this is not also full!) move files and documents etc to that, but keep your application on the internal startup drive.
    I have about 4 hours of video that I want to download onto a DVD
    You can't get 4 hours of video on one DVD. Even on a dual-layer DVD that will be difficult.

  • TS3694 Ipad won't turn on at all, and is recognized by itunes as being in recovery mode- when I try to restore it stalls on the portion stating "preparing device for restore" and on the page it says "itunes is restoring the software." Been like this for a

    Ipad 4 won't turn on at all, and is recognized by itunes as being in recovery mode- when I try to restore it stalls on the portion stating "preparing device for restore" and on the page it says "itunes is restoring the software." Been like this for a day. I read the restore notes on apple, but this seems to be a little more unique than the standard recovery issues. Any ideas as to why I seem to keep stalling during the restore process?

    Couple of things I can think of before going to the Apple store.
    First, if you can, power off the iPad. Then connect it to the charger that came with the iPad and plug that into a known good wall outlet. Leave it there at least an hour then try to reset your device. Press and hold the Home and Sleep buttons simultaneously until the Apple logo appears. Let go of the buttons and let the device restart.
    Also, you mentioned you have the latest iTunes. But it would be good to check the actual version. If the iPad is running iOS 7 you need iTunes 11.1 or later.

  • How can I add new content in iDVD to a DVD-RW disc which has ample remaining free space? After preparing the new video for burning and clicking on Burn to iDVD, I get a window saying the disc's already recorded and that I can either Erase or Eject.

    How can I add new content in iDVD to a DVD-RW disc with a video previously successfully recorded on it? (The disc has ample remaining free space.)
    After preparing the new video for burning and clicking in the File menu on Burn to iDVD, I get a window saying the disc's already recorded and that I can either Erase or Eject. My assumption has been that iDVD would automatically find the free space and continue with the new recording from there. I'd be grateful if anyone can shine light on this.

    There are, but not with a DVD written as a movie disk. It must be closed when completed, or it doesn't work.
    Apple's built in Burn utility also automatically closes any data CD, DVD or Blu-ray disk you burn. Doesn't matter how much space is unused, you can't use it. You'd have to use a more advanced disk creation app, such as Toast Titanium. I then have the option of choosing to write the data as a session:
    I can keep doing this until the disk is full. If I've written five sessions to the disk, when I put it in the drive, five CD/DVD icons will appear on the desktop since the OS will treat each session as if they are separate physical disks. At any point you choose Write Disk when writing a group of data, that means you're closing the disk, and again can't add anything after that. So if I had written two sessions, and the third was Write Disk, it's over. I can't put anything else on that disk.

  • InterMedia Java Classes for Servlets and JSPs and Netscape

    I am using the interMedia Java Classes for Servlets and JSPs to upload and retrieve multimedia data. I have found that it is much more performant in Internet Explorer (5.5) than in Netscape Communicator (4.7). In fact, I cannot upload images larger than 10K at all using netscape. However, the same image can be uploaded into the same application using IE. Is this a known issue?
    Thanks in advance.

    Hi,
    We have successfully uploaded multimedia data in the giga-byte range (Quicktime and AVI files) at the same speed with both the Netscape (4.7n) and MS IE (4.n and 5.n) browsers. One thing we have noticed is that its very important to set the manual proxy settings correctly if you have an environment with a proxy server. If you don't, then uploads can go via the proxy server and, for some reason, that seems to take considerably longer. For example, suppose you are in the www.xyzco.com domain and are connecting to a host named webserver.www.xyzco.com, then specify webserver and webserver.www.xyzco.com (to cover both cases) in the "Do not use proxy servers for..." box in the manual proxy server configuration screen. Also, if you're using a tool such as JDeveloper that uses the host IP address in the debugger environment, then you also need to add the numeric-based (nnn.nnn.nnn.nnn) IP address to this list.
    Hope this helps.
    In order to better understand the variety of ways in which our customers are using interMedia, we'd be very interested in knowing a little more about your application, the interMedia functionality that you are using, and how you are developing and deploying your application. If you are able to help us, please send a short email message with some information about your application, together with any comments you may have, to the Oracle interMedia Product Manager, Joe Mauro, at [email protected] Thank you!
    Regards,
    Simon
    null

  • Eclipse Plugins for Servlets and JSP.

    Hi Guys,
    Can any one suggest where i can get the eclipse plugins for Servlets and JSP. May i am wrong posting this question in this forum. I already browsed thru all the forum to get the info but in vain. so any help will be appreciated.
    Thank You,
    cheers,
    thrinath.j

    [url http://www.eclipse.org/webtools/]http://www.eclipse.org/webtools/
    Regards

  • Differences between WL or Netscape for Servlets and JSP's

    What are the advantages / disadvantages of running Servlets under WL,
              vs. say, running them in Netscape's servlet engine? Assuming EJB
              container is run separately, either one of these could make calls to the
              WL EJB server, so perhaps it would be simpler and faster to run servlets
              and JSP's under Netscape, and have them call via t3 into a weblogic
              server for EJB's?
              Thoughts
              david
              David Michaels <[email protected]>
              Director of Technology
              ShockMarket Corporation (650) 330-4665
              [david.vcf]
              

    David,
              One of the major reasons to run your servlets on Weblogic is that we have an
              optimization that allows us to pass by reference objects when calling from
              servlets to EJB. This makes things much faster.
              A number of our customers, in addition, have seen performance problems when
              using other servlet engines. It just seems to cause problems due to their
              threading models etc.
              Finally, our servlet engine is by far the most mature and robust on the
              market today. Our JSP implementation is also the best in terms of
              performance.
              Thanks,
              Michael
              Michael Girdley
              WLS Product Manager
              David Michaels <[email protected]> wrote in message
              news:[email protected]..
              > What are the advantages / disadvantages of running Servlets under WL,
              > vs. say, running them in Netscape's servlet engine? Assuming EJB
              > container is run separately, either one of these could make calls to the
              > WL EJB server, so perhaps it would be simpler and faster to run servlets
              > and JSP's under Netscape, and have them call via t3 into a weblogic
              > server for EJB's?
              >
              > Thoughts
              >
              > david
              >
              > --
              > David Michaels <[email protected]>
              > Director of Technology
              > ShockMarket Corporation (650) 330-4665
              >
              >
              

  • Build and Capture task sequence fails at 'Prepare ConfigMgr Client for Capture' step

    The scenario is as follows:
    Task Sequence is a Build and Capture of Windows 7 SP1 x64 Enterprise
    There are 17 Applications installed split into 2 'Install Application' steps due to the 9 item limit
    129 Software Updates are installed
    SCCM 2012 RTM
    I have built and captured on this system previously however there were no 'applications', just traditional SCCM 'packages'
    All task sequence steps run successfully until it gets to the 'Prepare ConfigMgr Client for Capture' step and it fails here. Here are the relevant parts of the SMSTS.log file:
    <![LOG[No certificates to delete]LOG]!><time="15:30:12.531-660" date="11-13-2012" component="PrepareSMSClient" context="" type="1" thread="2880" file="preparesmsclient.cpp:1013">
    <![LOG[Deleting Client properties from file C:\Windows\SMSCFG.INI succeeded.]LOG]!><time="15:30:12.531-660" date="11-13-2012" component="PrepareSMSClient" context="" type="1" thread="2880" file="preparesmsclient.cpp:922">
    <![LOG[Reseting the Trusted Root Key successful]LOG]!><time="15:30:12.531-660" date="11-13-2012" component="PrepareSMSClient" context="" type="1" thread="2880" file="preparesmsclient.cpp:1088">
    <![LOG[Deleting instance of 'CCM_Client' successful]LOG]!><time="15:30:12.531-660" date="11-13-2012" component="PrepareSMSClient" context="" type="1" thread="2880" file="preparesmsclient.cpp:170">
    <![LOG[Successfully reset Registration status flag to "not registered"]LOG]!><time="15:30:12.531-660" date="11-13-2012" component="PrepareSMSClient" context="" type="1" thread="2880" file="preparesmsclient.cpp:309">
    <![LOG[Successfully disabled provisioning mode.]LOG]!><time="15:30:12.546-660" date="11-13-2012" component="PrepareSMSClient" context="" type="1" thread="2880" file="preparesmsclient.cpp:1273">
    <![LOG[Start to cleanup TS policy]LOG]!><time="15:30:12.546-660" date="11-13-2012" component="PrepareSMSClient" context="" type="0" thread="2880" file="utils.cpp:2773">
    <![LOG[getPointer()->ExecQuery( BString(L"WQL"), BString(pszQuery), lFlags, pContext, ppEnum ), HRESULT=ffffffff (e:\nts_sccm_release\sms\framework\core\ccmcore\wminamespace.cpp,389)]LOG]!><time="15:35:21.000-660" date="11-13-2012" component="PrepareSMSClient"
    context="" type="0" thread="2880" file="wminamespace.cpp:389">
    <![LOG[ns.Query(sQuery, &spEnum), HRESULT=ffffffff (e:\nts_sccm_release\sms\framework\tscore\utils.cpp,2800)]LOG]!><time="15:35:21.000-660" date="11-13-2012" component="PrepareSMSClient" context="" type="0" thread="2880" file="utils.cpp:2800">
    <![LOG[Wmi query 'select * from CCM_Policy where PolicySource = 'CcmTaskSequence'' failed, hr=0xffffffff]LOG]!><time="15:35:21.000-660" date="11-13-2012" component="PrepareSMSClient" context="" type="3" thread="2880" file="utils.cpp:2800">
    <![LOG[End TS policy cleanup]LOG]!><time="15:35:21.000-660" date="11-13-2012" component="PrepareSMSClient" context="" type="0" thread="2880" file="utils.cpp:2821">
    <![LOG[TS::Utility::CleanupPolicyEx(false), HRESULT=ffffffff (e:\nts_sccm_release\sms\client\osdeployment\preparesmsclient\preparesmsclient.cpp,457)]LOG]!><time="15:35:21.000-660" date="11-13-2012" component="PrepareSMSClient" context="" type="0" thread="2880"
    file="preparesmsclient.cpp:457">
    <![LOG[Failed to delete policies compiled by TaskSequence (0xffffffff)]LOG]!><time="15:35:21.000-660" date="11-13-2012" component="PrepareSMSClient" context="" type="3" thread="2880" file="preparesmsclient.cpp:457">
    <![LOG[Failed to prepare SMS Client for capture, hr=ffffffff]LOG]!><time="15:35:21.000-660" date="11-13-2012" component="PrepareSMSClient" context="" type="3" thread="2880" file="preparesmsclient.cpp:472">
    <![LOG[pCmd->Execute(), HRESULT=ffffffff (e:\nts_sccm_release\sms\client\osdeployment\preparesmsclient\main.cpp,136)]LOG]!><time="15:35:21.000-660" date="11-13-2012" component="PrepareSMSClient" context="" type="0" thread="2880" file="main.cpp:136">
    <![LOG[Failed to prepare SMS Client for capture, hr=ffffffff]LOG]!><time="15:35:21.000-660" date="11-13-2012" component="PrepareSMSClient" context="" type="3" thread="2880" file="main.cpp:136">
    <![LOG[Process completed with exit code 4294967295]LOG]!><time="15:35:21.015-660" date="11-13-2012" component="TSManager" context="" type="1" thread="2152" file="commandline.cpp:1098">
    <![LOG[!--------------------------------------------------------------------------------------------!]LOG]!><time="15:35:21.015-660" date="11-13-2012" component="TSManager" context="" type="1" thread="2152" file="instruction.cxx:3011">
    <![LOG[Failed to run the action: Prepare ConfigMgr Client for Capture. 
    Unknown error (Error: FFFFFFFF; Source: Unknown)]LOG]!><time="15:35:21.046-660" date="11-13-2012" component="TSManager" context="" type="3" thread="2152" file="instruction.cxx:3102">
    It looks like there is a similar issue over here (http://www.windows-noob.com/forums/index.php?/topic/5906-task-sequence-error-0xffffffff/) that was resolved by removing the Application Installations one by one until a problematic one was found
    and removed - however I would rather avoid this very time consuming process if possible.
    I have also testing this using 'capture media' in the full OS and that also fails at the same step with the same errors in the smsts.log
    The only workaround I have for now is to let the task sequence fail at the 'Prepare ConfigMgr Client for Capture' step, then I uninstall the SCCM client using 'ccmsetup.exe /uninstall' and use the 'capture media' method - obviously with no SCCM client installed,
    it skips the 'Prepare ConfigMgr Client for Capture' step and goes straight to the 'Prepare OS' step and then to the actual capture to the WIM step.
    Anybody else seeing this or have any suggestions?
    My Microsoft Core Infrastructure & Systems Management blog -
    blog.danovich.com.au

    It looks like there is a similar issue over here (http://www.windows-noob.com/forums/index.php?/topic/5906-task-sequence-error-0xffffffff/) that was resolved by removing the Application Installations one by one until a problematic one was found
    and removed - however I would rather avoid this very time consuming process if possible.
    You dont have to test it 18 times....
    Just test with 50% of the applications first, if it fails, test with 25% and then on of the time...
    You should be able to find the application, within 4-5 tests...
    Ronni Pedersen | Microsoft MVP - ConfigMgr | Blogs:
    http://www.ronnipedersen.com/ and SCUG.dk/ | Twitter
    @ronnipedersen

  • HT2518 When I try using Migration Assistant an error appears on my pc... "An error occurred while preparing your information for transfer."  My mac just continues searching for the pc and yet both are on the same wifi.  Please help!!!

    When I try using Migration Assistant an error appears on my pc... "An error occurred while preparing your information for transfer."  My mac just continues searching for the pc and yet both are on the same wifi.  I'm not getting anywhere!  Please help!!!

    Simple...
    http://www.apple.com/uk/support/mac/app-store/contact/

  • My ios7 update is frozen an says "preparing for update" and my computerkeeps saying I need to download the newest version of itunes even though I have. What can I do to fix this?

    My ios7 update is frozen an says "preparing for update" and my computerkeeps saying I need to download the newest version of itunes even though I have. What can I do to fix this?

    Go to http://www.apple.com/itunes/download and download the current version.

Maybe you are looking for

  • Having Trouble Opening TIFF Files

    I'm having trouble opening TIFF files into Camera Raw. I have checked all my settings in Adobe Bridge and everything seems to be saying that TIFF files should open in Camera Raw when I click on then int and then into photoshop when finished editing i

  • How to validate a field of type text for similar values

    Hi, My requirement is to validate a field <b>Name1</b> of type Text[40] for similar values when a new record is created. So If the Name1 already exist in repository, the validation has to give warning message saying the customer with Name1 already ex

  • Display backlight flickers and goes off

    3000 2049 44Q Backlight of my display flickers and goes off after some time... Moreover is there any solution to overclock to overclock CPU

  • PSE7 with Windows 7 - Drag & Drop Problems

    Hello, have some people experince in PSE 7 with OS Windows 7? I have some problems with the Drag & Drop function. If I drag a picturce from the explorer into PSE7, PSE7 freeze and need two minutes to come back. Have somebody any idea / solution? -->

  • Satellite L650: Is it possible to get higher resolution screen?

    L650-1CH 15.6", 1366x768. ATI HD5650 1GB Hardware enthusiast, so please don't feel expected to dumb things down for me. Is it possible to get a higher resolution screen than the stock one, or one with better colour / contrast? I've always been annoye