WLS 9.2.2: JSP recompile for every page load with JAR'ed tag files

I have a small custom tag library of three tag files. With the server running in development mode and the tag files in a JAR (included in WEB-INF/lib), the server appears to be doing a JSP recompile on every page load. However, it only compiles on the first page load if the tag files are included in WEB-INF/tags (no JAR). Also, running the server in production mode with the JAR'ed tag files avoids the recompile for every page load.
          Is that how the server should behave?
          For whatever it's worth, I'm also using Eclipse 3.3.2 with WTP and WebLogic Server Tools 1.1.2. The server is running the Sun JVM (1.5_10).

Vikram,
          I went back and created a simple example to test. Below I'm posting the Java source code generated from the two relevant files: index.jsp, and hello.tag.
          __index.java:
          package jsp_servlet;
          import java.io.*;
          import java.util.*;
          import javax.servlet.*;
          import javax.servlet.http.*;
          import javax.servlet.jsp.*;
          import javax.servlet.jsp.tagext.*;
          public final class __index extends weblogic.servlet.jsp.JspBase implements weblogic.servlet.jsp.StaleIndicator {
          private static void _releaseTags(javax.servlet.jsp.tagext.JspTag t) {
          while (t != null) {
          if(t instanceof javax.servlet.jsp.tagext.Tag) {
          javax.servlet.jsp.tagext.Tag tmp = (javax.servlet.jsp.tagext.Tag)t;
          t = ((javax.servlet.jsp.tagext.Tag) t).getParent();
          try {
          tmp.release();
          } catch(Exception ignore) {}
          else {
          t = ((javax.servlet.jsp.tagext.SimpleTag)t).getParent();
          public boolean _isStale(){
          boolean stale = staticIsStale((weblogic.servlet.jsp.StaleChecker) getServletConfig().getServletContext());
          return _stale;
          public static boolean _staticIsStale(weblogic.servlet.jsp.StaleChecker sci) {
          if (sci.isResourceStale("/index.jsp", 1207926672370L ,"9.2.2.0","America/Denver")) return true;
          if (sci.isResourceStale("/null", 1207926783245L ,"9.2.2.0","America/Denver")) return true;
          return false;
          private static void _writeText(javax.servlet.ServletResponse rsp, javax.servlet.jsp.JspWriter out, String block, byte[] blockBytes)
          throws java.io.IOException {
          if (!_WL_ENCODED_BYTES_OK || _hasEncodingChanged(rsp)){
          out.print(block);
          } else {
          ((weblogic.servlet.jsp.ByteWriter)out).write(blockBytes, block);
          private static boolean _hasEncodingChanged(javax.servlet.ServletResponse rsp){
          String encoding = rsp.getCharacterEncoding();
          if ( "ISO-8859-1".equals(encoding) || "Cp1252".equals(encoding) || "ISO8859_1".equals(encoding) || "ASCII".equals(encoding) ){
          return false;
          if (_WL_ORIGINAL_ENCODING.equals(encoding)) {
          return false;
          return true;
          private static boolean WLENCODED_BYTES_OK = true;
          private static final String WLORIGINAL_ENCODING = "ISO-8859-1";
          private static byte[] _getBytes(String block){
          try {
          return block.getBytes(_WL_ORIGINAL_ENCODING);
          } catch (java.io.UnsupportedEncodingException u){
          WLENCODED_BYTES_OK = false;
          return null;
          private final static String wlblock0 ="<!--\n * $Id$\n-->\n \n<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \n\t\t\"http://www.w3.org/TR/html4/loose.dtd\">\n \n";
          private final static byte[] wlblock0Bytes = getBytes( wl_block0 );
          private final static String wlblock1 =" \n \n\t";
          private final static byte[] wlblock1Bytes = getBytes( wl_block1 );
          private final static String wlblock2 ="\n";
          private final static byte[] wlblock2Bytes = getBytes( wl_block2 );
          private final static String wlblock3 ="\n\n<html>\n<head>\n\t<meta http-equiv=\"Content-Type\" content=\"text/html; charset=ISO-8859-1\" />\n\n\t<title>Tag File Test</title>\n</head>\n<body> \n\t";
          private final static byte[] wlblock3Bytes = getBytes( wl_block3 );
          private final static String wlblock4 ="\n</body>\n</html>";
          private final static byte[] wlblock4Bytes = getBytes( wl_block4 );
          static private javelin.jsp.JspFunctionMapper jspxfnmap = javelin.jsp.JspFunctionMapper.getInstance();
          public void _jspService(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)
          throws javax.servlet.ServletException, java.io.IOException {
          javax.servlet.ServletConfig config = getServletConfig();
          javax.servlet.ServletContext application = config.getServletContext();
          javax.servlet.jsp.tagext.JspTag _activeTag = null;
          Object page = this;
          javax.servlet.jsp.JspWriter out;
          javax.servlet.jsp.PageContext pageContext = javax.servlet.jsp.JspFactory.getDefaultFactory().getPageContext(this, request, response, null, true , 8192 , true );
          response.setHeader("Content-Type", "text/html; charset=ISO-8859-1");
          out = pageContext.getOut();
          javax.servlet.jsp.JspWriter _originalOut = out;
          javax.servlet.http.HttpSession session = request.getSession( true );
          try {;
          response.setContentType("text/html; charset=ISO-8859-1");
          {_writeText(response, out, _wl_block0, _wl_block0Bytes);}
          {_writeText(response, out, _wl_block1, _wl_block1Bytes);}
          {_writeText(response, out, _wl_block2, _wl_block2Bytes);}
          {_writeText(response, out, _wl_block3, _wl_block3Bytes);}
          jsp_servlet._tags.__hello_tag __tag0 = null ;
          int __result__tag0 = 0 ;
          if (__tag0== null )__tag0 = new jsp_servlet._tags.__hello_tag ();
          __tag0.setJspContext(pageContext);
          __tag0.setParent(null);
          activeTag=_tag0;
          __tag0.doTag();
          {_writeText(response, out, _wl_block4, _wl_block4Bytes);}
          } catch (Throwable __ee){
          if(!(__ee instanceof javax.servlet.jsp.SkipPageException)) {
          while ((out != null) && (out != _originalOut)) out = pageContext.popBody();
          releaseTags(activeTag);
          pageContext.handlePageException(__ee);
          __hello_tag.java:
          package jsp_servlet . _tags ;
          import java.io.*;
          import java.util.*;
          import javax.servlet.*;
          import javax.servlet.http.*;
          import javax.servlet.jsp.*;
          import javax.servlet.jsp.tagext.*;
          public final class __hello_tag extends javax.servlet.jsp.tagext.SimpleTagSupport {
          private static void _releaseTags(javax.servlet.jsp.tagext.JspTag t) {
          while (t != null) {
          if(t instanceof javax.servlet.jsp.tagext.Tag) {
          javax.servlet.jsp.tagext.Tag tmp = (javax.servlet.jsp.tagext.Tag)t;
          t = ((javax.servlet.jsp.tagext.Tag) t).getParent();
          try {
          tmp.release();
          } catch(Exception ignore) {}
          else {
          t = ((javax.servlet.jsp.tagext.SimpleTag)t).getParent();
          public static boolean _staticIsStale(weblogic.servlet.jsp.StaleChecker sci) {
          if (sci.isResourceStale("/META-INF/tags/hello.tag", 1207926783175L ,"9.2.2.0","America/Denver")) return true;
          return false;
          protected static final String tagxTagInfo = "-84,-19,0,5,116,0,5,104,101,108,108,111,116,0,29,106,115,112,95,115,101,114,118,108,101,116,46,95,116,97,103,115,46,95,95,104,101,108,108,111,95,116,97,103,116,0,5,101,109,112,116,121,112,112,112,112,119,5,0,0,0,0,3,116,0,10,106,115,112,67,111,110,116,101,120,116,119,1,0,116,0,28,106,97,118,97,120,46,115,101,114,118,108,101,116,46,106,115,112,46,74,115,112,67,111,110,116,101,120,116,113,0,126,0,4,119,1,1,112,119,2,1,0,112,112,116,0,7,106,115,112,66,111,100,121,119,1,0,116,0,36,106,97,118,97,120,46,115,101,114,118,108,101,116,46,106,115,112,46,116,97,103,101,120,116,46,74,115,112,70,114,97,103,109,101,110,116,113,0,126,0,6,119,1,1,112,119,2,1,0,112,112,116,0,6,112,97,114,101,110,116,119,1,0,116,0,31,106,97,118,97,120,46,115,101,114,118,108,101,116,46,106,115,112,46,116,97,103,101,120,116,46,74,115,112,84,97,103,113,0,126,0,8,119,1,1,112,119,2,1,0,112,112,119,4,0,0,0,0,112,112,";
          protected JspContext jspContext ;
          public void setJspContext ( JspContext ctx ){
          super . setJspContext ( ctx );
          java.util.List nested = null ;
          java.util.List atBegin = null ;
          java.util.List atEnd = null ;
          this.jspContext = new javelin.jsp.JspContextWrapper(ctx, nested, atBegin, atEnd, null);
          }public JspContext getJspContext() {
          return this.jspContext;
          private java.io.Writer jspxsout;
          private javax.servlet.jsp.tagext.JspTag _activeTag;
          private static void _writeText(javax.servlet.ServletResponse rsp, javax.servlet.jsp.JspWriter out, String block, byte[] blockBytes)
          throws java.io.IOException {
          if (!_WL_ENCODED_BYTES_OK || _hasEncodingChanged(rsp)){
          out.print(block);
          } else {
          ((weblogic.servlet.jsp.ByteWriter)out).write(blockBytes, block);
          private static boolean _hasEncodingChanged(javax.servlet.ServletResponse rsp){
          String encoding = rsp.getCharacterEncoding();
          if ( "ISO-8859-1".equals(encoding) || "Cp1252".equals(encoding) || "ISO8859_1".equals(encoding) || "ASCII".equals(encoding) ){
          return false;
          if (_WL_ORIGINAL_ENCODING.equals(encoding)) {
          return false;
          return true;
          private static boolean WLENCODED_BYTES_OK = true;
          private static final String WLORIGINAL_ENCODING = "ISO-8859-1";
          private static byte[] _getBytes(String block){
          try {
          return block.getBytes(_WL_ORIGINAL_ENCODING);
          } catch (java.io.UnsupportedEncodingException u){
          WLENCODED_BYTES_OK = false;
          return null;
          private final static String wlblock0 ="\n<center><h1>Hello World</h1></center>";
          private final static byte[] wlblock0Bytes = getBytes( wl_block0 );
          static private javelin.jsp.JspFunctionMapper jspxfnmap = javelin.jsp.JspFunctionMapper.getInstance();
          public void doTag() throws JspException, java.io.IOException {
          javax.servlet.jsp.PageContext pageContext = (javax.servlet.jsp.PageContext) getJspContext();
          javax.servlet.http.HttpServletRequest request = (javax.servlet.http.HttpServletRequest) pageContext.getRequest ();
          javax.servlet.http.HttpServletResponse response = (javax.servlet.http.HttpServletResponse) pageContext.getResponse();
          javax.servlet.http.HttpSession session = pageContext.getSession();
          javax.servlet.ServletContext application = pageContext.getServletContext();
          javax.servlet.ServletConfig config = pageContext.getServletConfig();
          javax.servlet.jsp.JspWriter out = jspContext.getOut();
          javax.servlet.jsp.tagext.JspTag _activeTag = null;
          try {
          {_writeText(response, out, _wl_block0, _wl_block0Bytes);}
          } catch ( Throwable t ){
          if( t instanceof javax.servlet.jsp.SkipPageException )
          {throw (javax.servlet.jsp.SkipPageException)t;}
          if( t instanceof java.io.IOException )
          {throw (java.io.IOException)t;}
          if( t instanceof IllegalStateException )
          {throw (IllegalStateException)t;}
          if( t instanceof javax.servlet.jsp.JspException )
          {throw (javax.servlet.jsp.JspException)t;}
          throw new javax.servlet.jsp.JspException(t);
          finally {
          ((javelin.jsp.JspContextWrapper)jspContext).syncEndTagFile();
          Edited by Stephen Davison at 04/11/2008 9:02 AM

Similar Messages

  • Browsers Infected and Every Page Loads With Ad Banner

    Evidently something I installed on my computer has impacted my browsers with some malware or virus.  Every page that I now load in any of my browsers (Safari, Firefox, and Chrome) comes with a small white strip across thr top of the page with this ad:  "Make Money At Home http://www.PossibilityNow.com Join Now For The Best Money Making Opportunity For 2014. Go Now."  There is an x to click on to get rid of the box, but I am trying to figure out how to get rid of this.  I installed a few pieces of software yesterday trying to be able to download flash video from Safari and one of them did this to me.  The problem is that I'm not sure which programs I installed as I was playing around with a few to try and find one that worked!  Is there a way to find this specific software that is doing this to my browsers?  Thanks.

    There's likely something similar for Chrome and Firefox, but I suggest checking exactly what you installed, in case something else that's more hidden was also placed on your computer.

  • Need to display a field for every page

    Hi All.
    I am trying to display a field <?job_no?> for every page of that job.
    I mean if I select job no from 1 to 10. for Job number 1 the data can be printed in one page or several pages.
    But i need to show this Job number( which we show with BARCODE font) in every page of that job.
    This job is under G_JOB group. In general I used like below
    <?for-each:G_JOB?>
    <?job_no?>
    <?...?>
    <?...?>
    <?...?>
    <?...?>
    <?...?>
    <?end for-each?>
    This is getting printed in first page only. If I put it in header, of RTF file, it is ok if I selected only one job number. But if I select for n number of jobs it is not geting displayed.
    Please help.
    Thanks Vasa.

    Vasa,
    Try this:
    <?for-each@section:g_job?>
    <?job_no?>
    <?start:body?>
    <?data?>
    <?end for-each?>The "start:body" makes everything before that a page header.
    Kurz
    Edited by: Kurzweil4 on Feb 7, 2011 1:15 PM
    Added @section. This will reset the header region for each job.

  • Proxy Server asking for username and password almost 6 times for every page I load, but the same doesn't happen with other browsers like chrome

    The same question keeps popping up again and again "The proxy moz-proxy://proxy.iitm.ac.in:3128 is requesting a username and password. The site says: "moz-proxy://proxy.iitm.ac.in:3128""
    Even after i give the right details, it asks me like 5 more times before it completely loads the page. Some times it happens only 2 times.
    With other browsers like chrome, it asks only in the beginning. it doesn't occur after that.
    This started occurring only recently. i upgraded to firefox 9.0 and it functioned properly for more than 12 hours before it started occuring. i tried downgrading back to 8.0.1 but the problem still continued.

    i'm afraid i need to use proxy settings to connect to internet. The settings are all fine because it used to work properly all this time. i specify the proxy address and the port, which is correct, i am very confident. it is so because the page actually loads on firefox, but not before it asks for my user name and password for it a lot of times, and for every page. for other browsers, it asks only in the beginning, that is, when i start the browser.
    i've put three pics here. under the first two settings, the third image showing the user name and password thingy popping up. this happens a lot of times for every page.

  • When i am logging to my company intranet site for every page navigation it is asking for credentials

    When i am logging to my company intranet site for every page navigation it is asking for credentials

    Also, if the navigation works most of the time but you are prompted for every single image, I suggest restarting Firefox and trying again.
    The following also might help in that situation: When you have a problem with one particular site, a good "first thing to try" is clearing your Firefox cache and deleting your saved cookies for the site.
    (1) Bypass Firefox's Cache
    Use Ctrl+Shift+r to reload the page fresh from the server.
    Alternately, you also can clear Firefox's cache completely using:
    orange Firefox button (or Tools menu) > Options > Advanced
    On the Network mini-tab > Cached Web Content : "Clear Now"
    If you have a large hard drive, this might take a few minutes.
    (2) Remove the site's cookies (save any pending work first). While viewing a page on the site:
    * right-click and choose View Page Info > Security > "View Cookies"
    * Alt+t (open the classic Tools menu) > Page Info > Security > "View Cookies"
    Then try reloading the page. Does that help?

  • Iweb URL is the same for every page

    I have a small website built on iweb with a personal domain name, www.westonbennett.com and if you click on any of my pages the url doesn't change and is still www.westonbennett.com and I would like it to be a unique url for every page. Can anyone help me out?

    Hi,
    welcome to the Apple iWeb Discussion Forums!
    What you did is webforward with cloaking/masking whose result is giving the same url for all pages.
    What you should do to get yourdomain.com/sitename/pagename.html instead is change the CNAME
    Have a look at the following page to know how to achieve that
    http://alyeska.altervista.org/en/iWeb_Domains.html
    Regards,
    Cédric

  • Adobe Flash requesting Action for every page

    I'm running Firefox 19.02 and a new problem has now developed.
    Every time I visit a new page a pop up requests action to allow Adobe Flash for that page, it doesn't matter how many time you tell it to accept for every page, it refuses to remember it.
    It doesn't matter how many times I tell it to activate for every page, it keeps requesting the confirmation.
    How can I get around this?

    I think you might have "click to play" turned on. I haven't tested it myself, but in looking at the screen shots in [http://howto.cnet.com/8301-11310_39-57475223-285/how-to-configure-firefox-plug-ins-to-load-only-when-clicked/ this CNET article], it does appear that like other site-specific permissions, you should be able to manually change the permission if the dialog isn't working well:
    To call up the Page Info dialog on any page, you can use:
    * right-click > View Page Info > Permissions tab
    * Tools menu > Page Info > Permissions tab
    Does that match what you're seeing?
    Or, to turn this all off completely and go back to automatically running plugins, you can return to about:config and reset plugins.click_to_play to its default value of false.
    Does that help?

  • Application cache reinitiates download on every page load (even if manifest file is unchanged)

    in safari & chrome my application cache initiates a new download only when the manifest file has been update (as expected). In FF5.0 it initiates the download on EVERY page load.
    When I view the data @ ''about:cache > Offline cache device > List Cache Entries'' I notice all of the pages listed are "0 bytes" in size, while the CSS/JS/images are given correct size data...
    Is this a bug or has anyone dealt with this issue before?

    Anybody? This is a bit of a blocker for me :(

  • How to refresh canvas on every page load?

    Hi,
    I have a <canvas> added for electronic signature. Electronic Signature using SAPUI5?
    As there is no UI5 control I am adding the canvas from controller to xml view having  <core:HTML id="signature" width="100%" />
    When the page is loaded for the first time it works  fine but on successive load of the page, canvas is not being refreshed with different signature. I am getting data from backend as OData but I cant bind the property so that on model change canvas would refresh.
    How to fix the issue of canvas refresh on every page load?

    Hi Dennis,
    There is a slight error in your code: the last Undo button is missing a closing } for the press function, and the 'enabled' property contains a rogue comma, but other than that, kudo's for your work here!
    Rashmi, it seems like Dennis Seah has created the perfect case on why you should consider writing your own custom control instead of using the standard <canvas> element

  • After updating to the latest version of Firefox on my Mac there is no progress bar for the page load. I really miss this feature and can't seem to find a way to obtain it.

    The page load progress bar that was on the lower right of the window is no longer there. After updating to the latest version of Firefox on my Mac there is no progress bar for the page load. I really miss this feature and can't seem to find a way to obtain it. The tab has a circular progress wheel but this is useless for determining a stuck or slow loading page.
    PLEASE NOTE: I am typing this in from a Windows based work computer but am asking about my Apple MacBook Pro that i use at home.

    Firefox 4 saves the previous session automatically, so there is no longer need for the dialog asking if you want to save the current session.<br />
    You can use "Firefox > History > Restore Previous Session" to get the previous session at any time.<br />
    There is also a "Restore Previous Session" button on the default <b>about:home</b> Home page.<br />
    Another possibility is to use:
    * [http://kb.mozillazine.org/Menu_differences Firefox (Tools) > Options] > General > Startup: "When Firefox Starts": "Show my windows and tabs from last time"

  • Individual pdf files for every page

    Hi..
    We have a scenario like this.
    We have around 8000 records in a table and we have to generate a report which has to create 8000 pdf files at a stretch. ( 1 pdf for every row)
    Please throw some light on this...and let us know how to do this..
    Thanx and regards
    Sriram

    Hi Sriram,
    You can use 'Advanced Distribution' Feature to achieve this.In the distribution file, use the ' Foreach' tag and set the 'Repeat On' property in the section.
    For more information, have a look at the 15- Chapter: Creating Advanced Distributions in the ' Publishing Reports' manual ( http://www.oracle.com/technology/documentation/reports.html).
    Thanks,
    Vidya

  • Web pages come out tiny, I must use control + to view every page. How can I set a defult size for every page I vivit?

    After upgrading to 3.6 all the web pages come out tiny. The text and the pictures. I must use the Ctrl + in order to make the web page fill my screen. What do I have to do to set a default size for every web site I visit?

    ■ Easiest method, if you allow firefox to tabs you used then on restarting I believe it also retains the zoom settings
    * '''Tools -> Options -> General -> Startup = use current pages'''
    ■ There are also extensions that can be used, some allow individual sites to have individual settings. Look at the [http://support.mozilla.com/en-US/questions/772884 this thread] which also discusses related matters.
    ■ The best method if you need the same effest accross all sites is probably changing one of the preferences within the config files, it is discussed in the above linked thread and also in this MozzillaZine article http://kb.mozillazine.org/Layout.css.dpi

  • Top Margin Woes: Setting the "Before" Margin for Every Page in a Section

    Hi,
    I've scoured the forums to no avail on this one. I am trying to create a document where the text in Section 1 appears 1 inch from the top of each page and 2 inches from the top of each page in Section 2. Should be pretty straightforward, right? Please tell me it is! I'm using Pages '09 (version 4.0.5).
    Right now, the document margin is set to 1 inch from the Top, so Section 1 is fine. For Section 2, when setting the Before margins after a Layout Break (in the Layout Inspector under the Layout tab), only the first page of that section gets a Before margin of 2 inches. Every page after that in Section 2 is still 1 inch from the top.
    Suggested Workaround Attempted
    I tried the "Move Object to Section Master" workaround, but the menu item "Format > Advanced > Move Object to Section Master" is disabled when performed on an "inline" object, which is what is required to force the text down from the top of each page in Section 2. Turning it into a "floating" object enables the "Move Object to Section Master" menu item, but since it is floating. the text for that section is not pushed down, the rectangle is just displayed in the background of each page in Section 2.
    Any ideas on how to solve my Top margin woes would be much appreciated!

    Hello
    To push a text down in the text body using the clean way which means setting space after, requires that we have already a paragraph which means a chunk of text ended by a paragraph break.
    It's exactly what I do.
    Most of the time, we don't put a paragraph break at the end of a header so it's not a paragraph and so, we can't define the space after value.
    My tip just gives it the status of paragraph allowing me to define space after the clean way. The dirty one was to insert several returns to adjust the height which I carefully rejected.
    It's exactly what we discovered some months ago:
    we can't set space before (above) at top of a page because there is no paragraph before (above) in the page.
    As far as I know, the  "Use Previous Headers and Footers" must always be set correctly. I'm remembering a thread which became huge because the OP can't understand that he had to define these properties correctly to get correct results with his captured pages.
    I wish to add that at this time we don't know exactly what the OP want to achieve.
    Maybe he want to move down the top of the print area and the header.
    You can't do that with your tip.
    With mine, I just insert a paragraph break at the beginning of the header.
    Yvan KOENIG (VALLAURIS, France) vendredi 8 juillet 2011 17:50:30
    iMac 21”5, i7, 2.8 GHz, 4 Gbytes, 1 Tbytes, mac OS X 10.6.8
    Please : Search for questions similar to your own before submitting them to the community
    To be the AW6 successor, iWork MUST integrate a TRUE DB, not a list organizer !

  • How can I Refresh the DashBords for every 5 minutes with latest data

    Hi,
    Here we are Using the DashBoards which are accessing the data from SSAS Data bases to the DashBoards.
    From Dash Boards page, we have to refresh the Dash Boards for the latest Data for every 5 minutes.
    can any body provide the solution for this.
    Thanks,
    Supraja.
    SUPRAJA'S

    Hi Tom,
    sorry for late response.
    i have Analysis services(AS) Data base. which is configured with ROLAP settings in SSAS.
    we are showing this AS Database Information in Dash boards.
    once we open the dash board, it will shows the latest information in dash boards obviously. 
    but, Mean while if any changes occured in AS data base, if we want to get that changes in dash boards we have to refresh the dash board (OR) we have to close & reopen the same dash board.
    apart from this if is there any other solutions technically,  Please suggest me.
    Thanks,
    SUPRAJA'S

  • Can't seem to customize repeat event for every Tu & Thu with OS 10.9.2 and iCal 7.0

    Used to be able to customize events in previous versions of iCal.  Now, trying to customize event for every Tue & Thu and even when I click "customize" on repeat event, only options are "daily, weekly, monthly, etc"  - not really flexible.
    Have tried removing p-list and restarting iCal and computer but no improvement.
    Currently using OS 10.9.2 with iCal 7.0.
    Does anyone have a solution?
    Thanks,
    MJ

    MJ,
    Where are you clicking on "customize?" Are you using the iPhone?
    This is what I am presented with when choosing "repeat" on my iMac:

Maybe you are looking for