JSP Syntax for binding JSF components

I am trying to bind to a map with session scope and the key into the map is
a string value. It seems that this binding does not work as the key is not found
before rendering.
<f:selectItems id="listbox1SelectItems" value="#{idGeneratorBean.myIds['key']}"/>
The key is a hidden field on the page, and if hard-coded in the above, it will find that data.
I've seen other postings where the binding is done in the component's initialization code.
If it is done that way, what should the jsp binding look like?

Please don't crosspost topics over all places. Stick to one topic.
Continue here: [http://forum.java.sun.com/thread.jspa?threadID=5299291]

Similar Messages

  • Can I write Design-time for JSP custom tag(not JSF components)

    I have some old JSP custom tags(not JSF components), and I want to use them in the IDE through the toolbox.
    Now I have already written the BeanInfos for these tags, and they can be drag from the toolbox; but it will throw a Exception when render the tags, and the properties in the Property Editor are not which I describe in the BeanInfos.
    How can I write Design-time for these tags? or whether it is possible to write the Design-time for these tags?
    the Exception is shown as follow:
    java.lang.ClassCastException
         at com.sun.rave.insync.faces.FacesPageUnit.renderNode(FacesPageUnit.java:1347)
    [catch] at com.sun.rave.insync.faces.FacesPageUnit.renderBean(FacesPageUnit.java:1086)
         at com.sun.rave.insync.faces.FacesPageUnit.getFacesRenderTree(FacesPageUnit.java:993)
         at com.sun.rave.css2.FacesSupport.getFacesHtml(FacesSupport.java:152)
         at com.sun.rave.css2.CssContainerBox.addNode(CssContainerBox.java:373)
         at com.sun.rave.css2.CssContainerBox.createChildren(CssContainerBox.java:354)
         at com.sun.rave.css2.DocumentBox.createChildren(DocumentBox.java:90)
         at com.sun.rave.css2.DocumentBox.relayout(DocumentBox.java:160)
         at com.sun.rave.css2.PageBox.layout(PageBox.java:392)
         at com.sun.rave.css2.PageBox.relayout(PageBox.java:454)
         at com.sun.rave.css2.DocumentBox.redoLayout(DocumentBox.java:313)
         at com.sun.rave.css2.PageBox.redoLayout(PageBox.java:460)
         at com.sun.rave.css2.DocumentBox.changed(DocumentBox.java:634)
         at com.sun.rave.designer.DesignerPaneUI$UpdateHandler.changedUpdate(DesignerPaneUI.java:1012)
         at com.sun.rave.text.Document.fireChangedUpdate(Document.java:851)
         at com.sun.rave.text.Document$5.run(Document.java:631)
         at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:178)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:454)
         at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
         at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)

    I have some old JSP custom tags(not JSF components), and I want to use them in the IDE through the toolbox.
    Now I have already written the BeanInfos for these tags, and they can be drag from the toolbox; but it will throw a Exception when render the tags, and the properties in the Property Editor are not which I describe in the BeanInfos.
    How can I write Design-time for these tags? or whether it is possible to write the Design-time for these tags?
    the Exception is shown as follow:
    java.lang.ClassCastException
         at com.sun.rave.insync.faces.FacesPageUnit.renderNode(FacesPageUnit.java:1347)
    [catch] at com.sun.rave.insync.faces.FacesPageUnit.renderBean(FacesPageUnit.java:1086)
         at com.sun.rave.insync.faces.FacesPageUnit.getFacesRenderTree(FacesPageUnit.java:993)
         at com.sun.rave.css2.FacesSupport.getFacesHtml(FacesSupport.java:152)
         at com.sun.rave.css2.CssContainerBox.addNode(CssContainerBox.java:373)
         at com.sun.rave.css2.CssContainerBox.createChildren(CssContainerBox.java:354)
         at com.sun.rave.css2.DocumentBox.createChildren(DocumentBox.java:90)
         at com.sun.rave.css2.DocumentBox.relayout(DocumentBox.java:160)
         at com.sun.rave.css2.PageBox.layout(PageBox.java:392)
         at com.sun.rave.css2.PageBox.relayout(PageBox.java:454)
         at com.sun.rave.css2.DocumentBox.redoLayout(DocumentBox.java:313)
         at com.sun.rave.css2.PageBox.redoLayout(PageBox.java:460)
         at com.sun.rave.css2.DocumentBox.changed(DocumentBox.java:634)
         at com.sun.rave.designer.DesignerPaneUI$UpdateHandler.changedUpdate(DesignerPaneUI.java:1012)
         at com.sun.rave.text.Document.fireChangedUpdate(Document.java:851)
         at com.sun.rave.text.Document$5.run(Document.java:631)
         at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:178)
         at java.awt.EventQueue.dispatchEvent(EventQueue.java:454)
         at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
         at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)

  • JSP 2.0 tag files for rendering JSF components

    Over the weekend I read up on new JSP 2.0 features (dunno why I waited this long??) ... I really liked the tag file feature ...
    I was wondering if it were a good idea to use these tag files as renderers for JSF components - ok, this ties us to a JSP only solution but how many in here would be using a non-JSP solution anyway?
    I was thinking along the foll. lines:
    <myComponent id="myComponent1" attr1="value1" attr2=value2">
        <myComponentRenderer var="myComponent1" />
    </myComponent>
    myComponentRenderer can be implemented as a tag file in myComponentRenderer.tag ... The myComponent tag delegates the business logic processing to its associated UIComponent and then sets this component as a pageContext attribute with the id "myComponent1" ... myComponentRenderer in turn gets a reference to this UIComponent and renders it ...
    Again, if one wants a different way of rendering, make another tag file myComponentRenderer2.tag or change myComponentRenderer.tag itself ...
    Indeed, this may not work for components with complicated rendering logic but I believe that's only the 20% case ...
    Comments?
    P.S.:
    I've picked this up from http://forums.java.sun.com/thread.jsp?forum=427&thread=381052&tstart=0&trange=15
    This also compliments another topic: http://forums.java.sun.com/thread.jsp?forum=427&thread=413515&tstart=0&trange=15

    You are right in saying that decoding has nothing to
    do with rendering per se.I will go even further than Erik did, and dispute this statement.
    Consider that you are generating an <input> tag for a text field. Among other things, you have to generate a "name" attribute. Who decides what to put there? The renderer that actually created the markup.
    The "renderer" really does
    two completely different things. But both should
    nevertheless be separate from the component
    implementation itself. You could still have the
    renderer doing the decoding part, which arguably would
    rarely change, and somehow delegate the actual
    rendering to an implementation in a tag file.Whether you implement decoding in a separate class or inside the component, what request parameter name do you look for? It is not reasonable to assume that ALL possible renderers will choose the same parameter name ... hence, decoding and encoding are inextricably linked (the code doing the decoding has to know what kind of markup the code doing the encoding actually created). In JavaServer Faces, the current APIs create that linkage by requiring that the decode and encode be done by the same class (either the component, if you are not delegating, or the renderer if you are).
    Craig

  • Binding JSF components and servlets to eachother

    Hi, I have some JSF components in my jsp page like this one:
    <h:form rendered="true" id="myForm">
                   <h:selectOneListbox>
                        <f:selectItem itemdisabled="false" itemlabel="item1" itemvalue="1"></f:selectItem>
                        <f:selectItem itemdisabled="false" itemlabel="item2" itemvalue="2"></f:selectItem>
                        <f:selectItem itemdisabled="false" itemlabel="item3" itemvalue="3"></f:selectItem>
                   </h:selectOneListbox>
              </h:form>and I have this servlet:
    import java.io.IOException;
    import java.io.PrintWriter;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    public class myServlet extends HttpServlet {
         public myServlet() {
              super();
         public void destroy() {
              super.destroy(); // Just puts "destroy" string in log
         public void doGet(HttpServletRequest request, HttpServletResponse response)
                   throws ServletException, IOException {
         public void doPost(HttpServletRequest request, HttpServletResponse response)
                   throws ServletException, IOException {
         public void init() throws ServletException {
    }Could you please help me:
    *1.* How to populate my listbox using my servlet?
    and also
    *2.* How to get the selected item in my servlet every time that user change the selected option of list box?

    Please don't crosspost topics over all places. Stick to one topic.
    Continue here: [http://forum.java.sun.com/thread.jspa?threadID=5299291]

  • JSF Design Time View Not working correctly for ADF/JSF components

    My project is not using any external tag libraries. It is based purely on ADF core/html and JSF core/html components. The design time view does not show the appropriate presentation, everything is shown as nexted frame containers (I suppose how you would show a component that does not have a visual representation).
    If I create a new project and copy my jsp (jsf) pages over they show perfectly. I did this activity and all was going well in the new project and then I lost the design time view again. I cannot tell you what I did to cause the issue, maybe it was a modification to the web.xml as has been suggested in some other threads. Can anyone tell me what I should be looking for that causes this problem, what corrective actions I might take to eliminate the issues

    Ok I have isolated this issue. In my phase listener I had this line of code:
    private static final Logger _logger =  Logger.getLogger(EigRequest.class.getPackage().getName());
    and I changed it to
    private static final Logger _logger =
    Logger.getLogger(EigRequest.class.getName());
    and design mode started to work. I guess either of the above works for me although I do not understand why the line works when you run the application but not in design mode.
    Moral to the story is if something fails in any one of these types of decorators you will drop into a raw view mode. The question I have is if errors are occuring how do I figure out where they may be. There is no indication that anything is wrong with the exception that you lose most of the design mode functionality.
    This was not a compile issue, this was not a runtime issue. It took me quite a few hours of writing a test program to validate that it was not just writing a phase-listener issue; then launching, editing, relaunching the application to find the problem. I will say that a good portion of the code came from a Eclipse project. If you add the offending lines of code while using JDeveloper you do not loose design mode immediately. You only see the problem the next time you start JDeveloper which complicates finding the problem.

  • Tag files for rendering JSF components

    Hi people!
         It is possible to render component JSF using Tag-Files? (WEB-INF/tags).
    I am having problems with context, seems that the JSF does not recognize pageContext.
    Ex:
    My Tag-File
    <%@ attribute name="nameproperty" required="true" rtexprvalue="true" %>
    <%@ attribute name="size"           required="true" rtexprvalue="true" %>
    <h:inputText id="${nameproperty}"      size="#{size}" />
    My JSP
    <%@ taglib tagdir="/WEB-INF/tags" prefix="mayTags"%>
    <f:subview id="id001" >
         <myTags:myText propriedade="name_test" size="30" />
    </f:subview>
    In this in case that the size always is empty, because it does not recognize the target pageContext, but if I to place the size in the target of request already recognizes.
    EX:
    <%@ attribute name="nameproperty"      required="true" rtexprvalue="true" %>
    <%@ attribute name="size"           required="true" rtexprvalue="true" %>
    <c:set var"size" value="${size}" scope="request" >
    <h:inputText id="${nameproperty}"      size="#{size}" />
    In part it decides my problem, but it causes another error, is that if in my JSP it will have two fields (this is more than common) calling tag-file, there the size placed in request is always of it I finish field.
    Ex:
    <%@ taglib tagdir="/WEB-INF/tags" prefix="mayTags"%>
    <f:subview id="paisMan" >
         <myTags:myText propriedade="name_test" size="30" />
         <myTags:myText propriedade="name_test_2" size="70" />
    </f:subview>
    In this case all the two inputText would have size 70.
    It has some thing that I can make to solve this problem?
    Thanks for any help.
    Pedro Neves - Brazil

    You are right in saying that decoding has nothing to
    do with rendering per se.I will go even further than Erik did, and dispute this statement.
    Consider that you are generating an <input> tag for a text field. Among other things, you have to generate a "name" attribute. Who decides what to put there? The renderer that actually created the markup.
    The "renderer" really does
    two completely different things. But both should
    nevertheless be separate from the component
    implementation itself. You could still have the
    renderer doing the decoding part, which arguably would
    rarely change, and somehow delegate the actual
    rendering to an implementation in a tag file.Whether you implement decoding in a separate class or inside the component, what request parameter name do you look for? It is not reasonable to assume that ALL possible renderers will choose the same parameter name ... hence, decoding and encoding are inextricably linked (the code doing the decoding has to know what kind of markup the code doing the encoding actually created). In JavaServer Faces, the current APIs create that linkage by requiring that the decode and encode be done by the same class (either the component, if you are not delegating, or the renderer if you are).
    Craig

  • Code syntax for logical ABM components

    Hello,
    I have a simple programming question. I have a simple condition along the lines of,
    If  -1.5< Vd <1.5, then condition 1
    Otherwise, condition 2
    How does one do this in the ABM code syntax? I know in C+ it'd be along the lines of what I'd written above or use the && statement, however , I am not sure what is correct in Multisim.
    Thanks for any help

    Hello,
    Check the Multisim Help menu. Go to the search tab and type "supported mathematical function". You'll find All the functions with ekamples on using the ABM.
    For if you wanted the voltage of something based on some condition then,
    V={if(testCondition, condition1, condition2)}
    You can also see this white paper for more specific examples.
    http://www.ni.com/white-paper/5632/en
    Regards,
    Miguel V
    National Instruments

  • Jsp syntax for avoiding caching of pages at client

    how can we avoid a jsp page from caching
    which is so in ASP
    response.expires
    what is that in jsp

    If you are using Apache as your WebServer look at
    http://httpd.apache.org/docs/mod/mod_expires.html
    You can solve the caching problem by adding
    ExpiresActive On
    ExpiresDefault "access plus 1 second"
    to the Apache httpd.conf file
    null

  • What is bind syntax for blob datatype for sqlite3

    Hi All,
    i have written 2 times.
    1. sqlite3bind_blob(insertstatement, 1, image, -1, SQLTRANSIT);
    it doesn't give compile error but when i run the applilcation it crash the
    simulator.
    2. sqlite3bind_blob(insertstatement, 1, image, -1);
    it gives error like too few arguments.
    here image is object of UIImage........
    pls anyone can tell me what is proper syntax for binding of blob datatype.
    Thankx.
    vavdiyaharesh is online now Add to vavdiyaharesh's Reputation Report Post Edit/Delete Message

    I wanted to do something similar, but as you mention, there isn't a lot of sample code to copy and paste etc, and I didn't have the time to spend investigating this one issue when plenty of other things needed my attention.
    In the end I decided to save my BLOB data as actual files in the document directory and then store a link to these in the database row. Something like primarykey_id_blobname.jpg etc.
    Probably not the answer you want, but hopefully it'll get you past a road block and onto the next item on your list.

  • Proper syntax when binding a boolean to a view node

    What is the proper syntax for binding a nodes visability (or any variable that can be bound) to a boolean variable.
    There are three choices, tell me which of the fallowing is proper.
    var loginPassed: Boolean = false;
    var loadingBox: VBox = VBox {
        visible: bind if (loginPassed) then true else false
        content: [loadingLabel,progressIndicator]
    var loaddingBox: VBox = VBox {
        visible: bind loginPassed
        content: [loadingLabel,progressIndicator]
    var loadddingBox: VBox = VBox {
        visible: loginPassed
        content: [loadingLabel,progressIndicator]
    }Let me know and thanks

    Yes it seams that the problem was not with my bind of the content. The error was actually occuring when running in browser mode. At start up the program was throwing an odd exception. Showing in the stack trace were traces of Node and boolean.
    The error was being thrown when I had Control.TextBox as my default input focus.
    After changing the TextBox to a SingExtension.TextField the error went away.
    I will try to reproduce the error and post in a seperate thread.

  • Model Binding and Calculated Field Syntax for "class" Attribute

    Hi,
    I tried to use the calculated field syntax from SAP UI5 to change the CSS class attribute of an element based on some model property, i.e., I wanted to change the class in the corresponding formatter function based on the currently bound value. However, my formatter function is not called. When I use the same syntax on a text attribute, it works.
    I also tried to use normal property binding, but it did not work on the class attribute either (it just put class="{property}" in the rendered HTML).
    Is there anything I missed or is it just not possible to use property binding and calculated field syntax for class attributes? Did anybody try something like this before?
    I think it is a standard use case to change the CSS class based on some model property. So, if anybody knows how to do that, could you give a short example?
    Best regards
    Svenja

    They have a class property. At least, I can do the following in an XML view:
    <Button
                  icon="sap-icon://add"
                  press="onButtonPress"
                  class="my-button-class" />
    I would expect the following to work as well, but for me it did not:
    <Button
                  icon="sap-icon://add"
                  press="onButtonPress"
                  class="{/customClass}" />
    This renders the following HTML (cropped to the important parts):
    <button type="button" class="sapMBtn {/customClass}">
    </button>
    It seems like the class attribute is something special although I don't see a reason why. Other HTML templating engines, for example, support things like that.

  • The syntax for accessing MS SQL db from JSP

    Can anybody help me with the syntax for accessing MS SQL db from JSP???
    This is what I do when I use MySQL:
    Class.forName( "org.gjt.mm.mysql.Driver" );
    Connection conn = DriverManager.getConnection(
         "jdbc:mysql:://um" ,
    What do I write when it is MS SQL and where do I install the driver
    BR Soren

    Can anybody help me with the syntax for accessing MS
    SQL db from JSP???
    This is what I do when I use MySQL:
    Class.forName( "org.gjt.mm.mysql.Driver" );
    Connection conn = DriverManager.getConnection(
    "jdbc:mysql:://um" ,
    What do I write when it is MS SQL and where do I
    install the driver
    BR Soren
    One way of doing this is to use ODBC. Here's an example:
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    Connection conn = DriverManager.getConnection("jdbc:odbc:<odbc name>", "<login>", "<password>");

  • Do we write one model bean for every JSF UI page?

    First, Please excuse my minimal knowledge in JSF, I am just starting to crawl :)
    Is my understanding about JSF that you will be writing one model bean class for every JSP page you have, CORRECT? (this is just my understanding, I may be wrong)
    This will be getting hard for large application.
    Ideal scenario: Say you have a JSP page A.jsp to associate an action reference you write a model bean class and have appropriate get method to return an Action object.
    Can we write an Action class, separated from the model bean class. I tried to create 2 different packages and one which just had a simple model bean and the other package had a Action class. I was not able to get this working as it was bouncing back with a Method innovation/Illegal argument exceptions. I am very confused here is it a necessity to write the action method in model bean or can we separate it? If we can separate it can we package it in to different packages?
    I may be confusing in explaining my questions but to put it black and white
    A)
    1 JSP Page (uses JSF components) = 1 model bean class (?)
    or
    B)
    1..n JSP pages (uses JSF components) = 1 or may be 2 model bean class (?)
    If B is possible how do we get the action classes towards this architecture and how can we get access to the various model bean objects in a single action class.
    Sorry for my vagueness....
    Thanks
    Ram

    In the particular case of your separate Action class,
    you still need a getter method for it somewhere. I
    find it easiest to include this getter in the same
    model bean that contains the data, but it doesn't have
    to be. Craig,
    It seems to be the consensus that a getter is required, but I've had perfect luck registering a single Action class in the application scope:
    <managed-bean>
      <managed-bean-name>fooAction</managed-bean-name>    
      <managed-bean-class>org.bar.FooAction</managed-bean-class>
      <managed-bean-scope>application</managed-bean-scope>
    </managed-bean>And then referencing it directly:
    <h:command_button commandName="foo" actionRef="fooAction"/>This feels more like the Struts approach to me, as there's a single instance available. (If I wanted thread saftey, however, I could declare it in the request scope instead). I use this approach when there's no data associated with the Action (like a LogoutAction).
    Kito D. Mann

  • JSF Components in HTML Components

    Hi,
    I'm trying to use JSF components as children of HTML components but the UI isn't being rendered properly.
    Basically, here's my scenario:
    <ul>
         <li>
              <h:commandLink id="newQuoteLink" styleClass="topNav" action="#{pc_HeaderFragment.newQuote}">
                   <h:outputText value="Add New Quote"/>                              
              </h:commandLink>               
         </li>
    </ul>All I want rendered is a text link ("Add New Quote") that will execute a backing bean method
    When I run the server, the <a> tag is generated before my original <ul> list.
    How come it can't simply return to the outputtext to the location that I called it?
    Am I missing something here?
    Thanks in advance!
    Matt

    Looks like you're using JSF 1.1. At this version of the spec, there were issues with content interweaving that necessitated the need
    of f:verbatim tags to wrap template text (i.e. non jsf-markup).
    This isn't necessary for 1.2, but if you must stick with 1.1, your markup should look something like:
    <f:verbatim>
    <ul>
        <li>
    </f:verbatim>
    <h:commandLink id="newQuoteLink" styleClass="topNav" action="#{pc_HeaderFragment.newQuote}">
        <h:outputText value="Add New Quote"/>                              
    </h:commandLink>            
    <f:verbatim>
         </li>
    </ul>
    </f:verbatim>Given the ugliness if this, if you have to use JSP for your views, migrate to JSF 1.2.
    If you must stay with 1.1, look into Facelets [1], Clay [2], or JSFTemplating [3]
    as a substitute for JSP as you won't have these issues.
    [1] https://facelets.dev.java.net
    [2] http://shale.apache.org
    [3] https://jsftemplating.dev.java.net

  • Using JSP scriplets in the JSF tags

    Hi,
    I haven't done that much JSP development using various tag libraries prior to looking at JSF, hence this very basic question:
    I am declaring and manipulating Java variables in my JSP. Is there a way to access those in my JSF tags? It seems that something like:
    <%
    String myString="MyLabel";
    %>
    <h:view>
    <h:outputText id="myID" value="<%=myString%>" />
    </h:view>
    blows up in the JSF processor.
    I am porting some stuff to JSF and hence do not use backing beans in all cases.
    Any suggestions/ideas/pointers are greatly appreciated.
    Thanks in advance,
    Vadim.

    JSF action element attributes take JSF EL expressions, not Java expressions. A JSF EL expression has access to objects in one of request, session or application scope only, not to scripting variables. One way to get your example to work is by putting the String in one of these scopes within the scriptlet, e.g.:
    <%
      String myString="MyLabel";
      request.setAttribute("myString", myString);
    %>
    <h:view>
      <h:outputText id="myID" value="#{myString}" />
    </h:view>But, if you're porting a JSP-based application to JSF, I strongly recommend that you move all scriptlet code into beans; otherwise it's kind of pointless to migrate to JSF. The strength of JSF is its separation of UI layout and application logic.
    Even though JSP happens to be one way to wire up a JSF view with JSF components, JSF has very little to do with JSP. You need to understand the basic JSF component model, event-driven development, and use JavaBeans to really gain any benefits. Don't be fooled into believing that JSF is "just a new JSP tag library" by the support for JSP as the default presentation layer; it's far more than that, and I personally believe that using JSP as the presentation layer makes using JSF a lot harder than it should be. In fact, most of the issues posted in this forum are issues with the JSP layer, not with the core JSF components or the infrastructure classes.
    Hans Bergsten (EG member)

Maybe you are looking for

  • Error in Starting liveCache

    Hello there,     When starting our liveCache in LC10, I encountered an error message stating that "ERROR DBMCLI COMMANDEXECUTE_ERROR when starting liveCache LC1 on server". But nevertheless, the liveCache status turned green. I read the logs in Messa

  • Iphoto and imovie and garageband don't work!!

    iphoto and imovie and garageband will not reinstall, but they worked after upgrading to mountain lion, but have had to do a clean install and i can't get them to install now, any suggestions please? thanks!

  • In CS6- Acrobat Pro X

    In CS6 - was Acrobat Pro X been updated - don't want to install if nothing has been done.

  • LSMW Cost Center

    I'm looking for a LSMW to upload the cost center from a xls-file or csv-file in the R/3 System. Which LSMW can I use for this?

  • IPhoto is unresponsive-please someone help

    Every time I open my iPhoto the spinning ball comes up for about 20 seconds then this message appears: Your iPhoto library is either in use or has become unreadable. Shut down and restart your computer, then open iPhoto again. If the problem persists