ActionPerformed in 2 classes for same JButton

I have a JButton created in myChild.class It has an actionlistener attached to it and does things specific to myChild.class
I have an actionlistener attached to the same JButton from myParent.class When that is called, it also does things specific to that class.
Since each class does specific things, I need to have 2 different listeners for the same object. I have got that done successfully.
The problem is that myParent.class calls its actionperformed. I would like for myChild.class to call its actionperformed first.
Is there a way to reverse the order of calling actionperformed, so that myChild.class goes first?

Sorry, meant to say
The problem is that myParent.class calls its actionperformed first. I would like for myChild.class to call its actionperformed before myParent.class does.

Similar Messages

  • Tag Libraries : multiple classes for same tag

    Hi ,
    I have a tag library like this
    <tag>
    <name>process</name>
    <tagclass>packagea.page1</tagclass>
    <attribute>
    <name>name</name>
    <required>true</required>
    <rtexprvalue>false</rtexprvalue>
    </attribute>
    </tag>
    I have 15 tags like this with the same 'process' name but ofcourse different tagclass files (corresponding to 15 different PAGES)
    Now, while the container encounters the tag on any PAGE (all the tags on all the PAGES will have the same prefix 'process'), how will the container know which class file to pick from out of the 15 different class files ???
    does this happen sequentially or is there some mechanism of caching within the container ... ??

    probably it takes the first, if it's not throwing an exception about it. You should have 1 tag library and multiple tags which should have separate names, not separate tag libs with 1 tag each.

  • Best Practice for WSDL Generate Proxy Class for Web Service with Two Versions

    Dear All
    Thank you in advance for you help.
    I would like to generate proxy classes for same function but with two versions.
    Old version web service (v23.2) is used for stable modules in a project which is not going to modify.
    However, enhancement is added in new version web service (v24) and is going to use in any future modules.
    For example,
    wsdl.exe -o="TestProxy.cs" -l:CS -n:Test -sharetypes https://community.workday.com/custom/developer/API/Notification/v23.2/Notification.wsdl https://community.workday.com/custom/developer/API/Notification/v24.0/Notification.wsdl
    It generates similar classes with an '1' added at the end of the class name.
    ublic partial class Event_TargetObjectType {
    private Event_TargetObjectIDType[] idField;
    public partial class Event_TargetObjectType1 {
    private Event_TargetObjectIDType1[] idField; ...}
    Since the function inside some class is the same, is it possible for WSDL.exe to generate proxy classes automatically that if the class is the same, then generate one class only (sameFunction())  but if it detects the class is different, then add '1'
    to the end of class name (differentFunction() and differentFunction1())
    i.e.
    public class sameFunction()
    public class differentFunction()
    private int a;}
    public class differentFunction1()
    { private int b;
    Best Regards
    mintssoul

    Hi  mintssoul,
      As per this case, I have shared corresponding details below :
    1.As far as I know, WCF doesn’t support method overloading directly
    2.Because WSDL doesn’t support method overloading (not OOPs).
    3.WCF generates WSDL which specifies the location of the service and the operation or methods the service exposes.
    4.WCF use Document/Literal WSDL Style : Microsoft proposed this standard where the soap body element will contain the web method name.
    5.By default all the WCF services conform to the document literal standard where the soap body should include the method name.
    6.but you can differ the method in the same manually by using Name attribute like below 
    For example:
        [OperationContract(Name="Integers")]
        int Display(int a,int b)
        [OperationContract(Name="Doubles")]
    double Display(double a,double b)
    7. Or I suggest you that can use svcutil to map multiple namespaces for generating wcf service proxies .
        for more information about this, refer here :
    http://stackoverflow.com/questions/1103686/use-svcutil-to-map-multiple-namespaces-for-generating-wcf-service-proxies

  • Glassfish v3 ClassCastException for same class, at a List.get() command.

    Hello everyone,
    I am in the process of developing a small web application with JSF 2.0 and JPA, both of which I am not entirely familiar with. But thanks to Google and a lot of very dedicated experts, the Java and JSF forums have helped me with creating a basic form for entering and storing data. I am using Netbeans 6.8 which has glassfish V3 for the app server. However I have a problem where the auto-deploy in glass fish ends up giving me a ClassCastException for the same class, which after a bit of research on the net, seems to be a classloader problem.
    A related link http://72.5.124.102/thread.jspa?messageID=10119180 probably confirms the cause as a hot-deploy issue.
    My JSF page is created dynamically in the constructor of the managed bean, and it is here that I get the exception occasionally. A restart of the server solves the issue. Nevertheless, I would like to know if there is any other way to solve the classloader problem other than using a build.xml file as suggested in the forum link given above.
    I am posting a part of my code as well, so that if you think there a classloader problem in my code, you can let me know, so I can fix it.
    @ManagedBean(name = "CustomFields")
    @RequestScoped
    public class CustomFields {
        private String tableName;
        private List<UiSetup> dispFieldsList = new ArrayList();
        private HtmlPanelGrid customPanelSec = new HtmlPanelGrid();
        public HtmlPanelGrid getCustomPanelSec() {
            return customPanelSec;
        public void setCustomPanelSec(HtmlPanelGrid customPanelSec) {
            this.customPanelSec = customPanelSec;
        public String getTableName() {
            return tableName;
        public void setTableName(String tableName) {
            this.tableName = tableName;
        public CustomFields() {
            System.out.println("Invoked customFields backing bean");
            String callerBean = "";
            FacesContext context = FacesContext.getCurrentInstance();
            Application application = context.getApplication();
            tableName = context.getExternalContext().getRequestParameterMap().get("callerPage");
            callerBean = context.getExternalContext().getRequestParameterMap().get("backingBean");
            // This is a JPA contoller class for an entity that defines the custom fields that have to be enabled for this page.
            UiSetupJpaController fldsToShow = new UiSetupJpaController();
            dispFieldsList.clear();
            System.out.println("Did this1");
            // This function getDisplayFields gets the fields that have to be shown on the page.
            this.dispFieldsList = fldsToShow.getDisplayFields(tableName);
            System.out.println("Did this2");
            int totFields = this.dispFieldsList.size();
            System.out.println("Did this3");
            UiSetup us = this.dispFieldsList.get(totFields - 1);// This is where the error is thrown always.
            System.out.println("Did this4");
            customPanelSec.getChildren().clear();
            for (int i = 0; i < totFields; i++) {
                try {
                    HtmlPanelGrid fldLblGroup = new HtmlPanelGrid();
                    HtmlOutputLabel customLabel = (HtmlOutputLabel) application.createComponent(HtmlOutputLabel.COMPONENT_TYPE);
                    String labelName = dispFieldsList.get(i).getDisplayName();
                    customLabel.setValue(labelName);
                    String fieldName = dispFieldsList.get(i).getFieldName();
                    HtmlPanelGroup customField = (HtmlPanelGroup) application.createComponent(HtmlPanelGroup.COMPONENT_TYPE);
                    HtmlInputText customText = new HtmlInputText();
                    String valExp = "#{" + callerBean + "." + fieldName + "}";
                    customText.setId(fieldName);
                    customText.setValueExpression("value", createValueExpr(valExp, BigDecimal.class, context));
                    customField.getChildren().clear();
                    customField.getChildren().add(customText);
                    customPanelSec.getChildren().add(customLabel);
                    customPanelSec.getChildren().add(customField);
                }catch (Exception e) {
                    System.out.println(e.getMessage());
        private ValueExpression createValueExpr(String valexp, Class cls, FacesContext fcs) {
            return fcs.getApplication().getExpressionFactory().createValueExpression(fcs.getELContext(), valexp, cls);
    }The error message is as follows
    com.sun.faces.mgbean.ManagedBeanCreationException: Cant instantiate class: karma.com.managedbeans.master.CustomFields.
    at com.sun.faces.mgbean.BeanBuilder.newBeanInstance(BeanBuilder.java:193)
    at com.sun.faces.mgbean.BeanBuilder.build(BeanBuilder.java:102)
    at com.sun.faces.mgbean.BeanManager.createAndPush(BeanManager.java:405)
    at com.sun.faces.mgbean.BeanManager.create(BeanManager.java:267)
    Caused by: java.lang.ClassCastException: karma.com.model.ui.UiSetup cannot be cast to karma.com.model.ui.UiSetup
    at karma.com.managedbeans.master.CustomFields.<init>(CustomFields.java:397)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
    at java.lang.Class.newInstance0(Class.java:355)
    at java.lang.Class.newInstance(Class.java:308)
    at com.sun.faces.mgbean.BeanBuilder.newBeanInstance(BeanBuilder.java:188)
    ... 82 moreRegards,
    Swati

    Thanks very much for your reply. I have implemented your suggestion of using a PostConstruct method with the @ManagedProperty to inject the values into the tableName and the callerBean properties. The good news is that the page is rendered correctly and I haven't encountered the exception the few times that I invoked the page.
    However, I can't be sure the issue is resolved, since, like I mentioned, the error is seemingly erratic and I don't quite know if it is not seen because of a genuine fix or because, well, its currently not in a mood to show up.
    There is just one more thing I would like to mention. I have said that the code fails at the List.get() line. However, its not happening because the list is empty. In fact the earlier lines are giving expected outputs and totFields value is set all right. Maybe this has nothing to do with the error, but I thought I will mention it all the same, in case it triggers another idea altogether.
    Thanks very much
    Regards
    Swati

  • Same Feeder Class for 2 GUIBBs

    Hi All,
    I have created one feeder class for 2 GUIBBs (List UIBB and Form UIBB) by implementing respective interfaces for them. These GUIBBs have been included in the same user screen. I have also setup parameter for this feeder class (No meaningful purpose, but just to try out). Here are my questions:
    1. I was expecting a single instance of this class when user enters the screen which would then become basis for sharing data between these UIBBs. However, I noticed that 2 instance were created for each UIBB. Is it the normal behaviour? I also tried giving same value or no value to feeder class parameter but for no help.
    2. To get rid of above problem, I declared feeder class attributes that were part of sharing as static attributes. But now the problem was, my Form data was dependent on List data. So I wanted that GET_DATA method of List UIBB should be called before GET_DATA method of Form UIBB. However, Form method is getting called first. Since it always happen, I wanted to know how the system decides on the sequence of calls and is there any way to program /change that sequence.
    Thanks!
    Bhaskar

    So this is what I am trying to do:
    When the user enter Pernr and hit 'Search',
    - all the related records should get updated in the list.
    - Details section should get updated with the 1st index record
    - On selection of other records from list, the related data should get update in details section.
    Now the problem is, as I mentioned, the GET_DATA method of Form UIBB is getting called before List UIBB. Due to this, there is a lag in the details section data update. As earlier noted, I am using the same class for both UIBBs.
    Advice please.
    Best Regards,
    Bhaskar

  • Using same class for duplicate movieclips

    Hello everyone,
    I have created an external class for a particular movieclip and I would like to link a duplicated version of this movieclip to the same class file.
    Problem is I can't seem to do it. Even if I state the class as the BASE class of the new movieclip and create another random class name for it.
    Is there a way I can get around this so I can assign my duplicated clip the same class name ??
    Thanks in advance
    Martin

    well first off I get 'Neutralization of a marked function override' which is apparently caused by the 'stop();' on the first frame of the new symbol.. when I remove that I get 'Number of arguments incorrect.. 2 expected' on the super line
    I have two variables that I'm passing to Animal which are :-
    public function Animal (frameNumber:Number, level:Number)
    Do I need to reflect this in my code ?
    package  {
        import flash.display.MovieClip;
        public class Animal1 extends Animal {
            public function Animal1():void {
                super();

  • Log4J - file appender (2/more file for same package/class)

    Hi All,
    My requirement is i want to create 2 log file for same package.
    EG: com.foo.bar
    my code:
    log4j.rootCategory= ALL, fileAppender,stdout
    log4j.appender.fileAppender=org.apache.log4j.RollingFileAppender
    log4j.appender.fileAppender.File=c:\\temp\\test.log
    log4j.appender.fileAppender.MaxFileSize=64KB
    log4j.appender.fileAppender.layout=org.apache.log4j.PatternLayout
    log4j.appender.stdout=org.apache.log4j.ConsoleAppender
    log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
    log4j.appender.file1=org.apache.log4j.RollingFileAppender
    log4j.appender.file1.File= file1.log
    log4j.appender.file1.MaxFileSize=64KB
    log4j.appender.file1.MaxBackupIndex=1
    log4j.appender.file1.layout=org.apache.log4j.PatternLayout
    log4j.appender.file1.layout.ConversionPattern=%p %t %c - %m%n
    log4j.appender.file2=org.apache.log4j.RollingFileAppender
    log4j.appender.file2.File= file2.log
    log4j.appender.file2.MaxFileSize=64KB
    log4j.appender.file2.MaxBackupIndex=1
    log4j.appender.file2.layout=org.apache.log4j.PatternLayout
    log4j.appender.file2.layout.ConversionPattern=%p %t %c - %m%n
    log4j.appender.file3=org.apache.log4j.RollingFileAppender
    log4j.appender.file3.File= file3.log
    log4j.appender.file3.MaxFileSize=64KB
    log4j.appender.file3.MaxBackupIndex=1
    log4j.appender.file3.layout=org.apache.log4j.PatternLayout
    log4j.appender.file3.layout.ConversionPattern=%p %t %c - %m%n
    // THIS IS FOR ClIENT
    log4j.logger.com.ls.es.service=DEBUG, file1
    // THIS IS FOR SUPPORT
    log4j.logger.com.ls.es.service=DEBUG, file2
    // THIS IS ERROR MESSAGE
    log4j.logger.com.ls.es.service=ERROR, file3
    Here file1 is for Client(Client Admin)and file2 is for Support.
    but am getting only file3.log file which is for Error Message..
    some where configuration is missing...
    Thanks,
    by
    dhana

    I have created a class that allow to create easily new logs:
    1.- Switch the Root Logger output
    2.- Create as many logs as desired (I build a simple web server, each new client has a log associated to it).
    Main problem: code and comments in spanish.
    Are you intereseted on it? Let me know, I can send it to you by mail.
    Cesar

  • Renderer problem for a JButton in a JTable

    Hi all,
    Here is my requirement -
    When the value of a particular cell in a JTable gets changed, another cell in the same selected row should display a JButton. The button should remain displayed for that row. Other rows should not have the button displayed unless there is any change in value of other columns in that row.
    I have the problem in displaying the button only when the values of a particular row is changed. The button gets displayed if I click that button cell which should not happen as the values are not changed for the corresponding row. Also, once the button is displayed for a particular row, if i click some other row, button gets disappeared for the previously selected row.
    Here is the code I have implemented. Please correct me where I am going wrong.
    Renderer code for the button-
    ==================
    class ButtonRenderer extends JButton implements TableCellRenderer {
    public ButtonRenderer() {
    setOpaque(true);
    public Component getTableCellRendererComponent(JTable table, Object value,
    boolean isSelected, boolean hasFocus, int row, int column)
    if (isSelected) {
    setForeground(table.getSelectionForeground());
    setBackground(table.getSelectionBackground());
    } else{
    setForeground(table.getForeground());
    setBackground(UIManager.getColor("Button.background"));
    TableModel model = table.getModel();
    // get values from the table model's selected row and specific column
    if(// check if values are changed from old ones)
    setText("Undo");
    setVisible(true);
    return (JButton) value;
    else
    JButton button = new JButton("");
    button.setBackground(Color.white);
    button.setBorderPainted(false);
    button.setMargin(new Insets(0, 0, 0, 0));
    button.setEnabled(false);
    return button;
    Editor code for the button -
    =======================
    class ButtonCellEditor extends DefaultCellEditor
    public ButtonCellEditor(JButton aButton)
    super(new JTextField());
    setClickCountToStart(0);
    aButton.setOpaque(true);
    aButton.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    fireEditingStopped();
    editorComponent = aButton;
    protected void fireEditingStopped()
    super.fireEditingStopped();
    public Object getCellEditorValue()
    return editorComponent;
    public boolean stopCellEditing()
    return super.stopCellEditing();
    public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column)
    return editorComponent;
    Code setting the renderer/editor -
    ==================================
    TableColumn column = colModel.getColumn(6);
    button.setVisible(true);
    button.setEnabled(true);
    column .setCellRenderer(new ButtonRenderer());
    column .setCellEditor(new ButtonCellEditor(button));
    Please correct me where I am going wrong.
    Thanks in advance!!

    Hope this is what you want...edit the column "Value" and type "Show" to get the desired result.
    import java.awt.Component;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.DefaultCellEditor;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JOptionPane;
    import javax.swing.JScrollPane;
    import javax.swing.JTable;
    import javax.swing.JTextField;
    import javax.swing.table.AbstractTableModel;
    import javax.swing.table.DefaultTableCellRenderer;
    public class TableEdit2 extends JFrame
         Object[] columns =
         { "A", "Value", "Action" };
         Object[][] data =
         { "A0", "B0", "" },
         { "A1", "B1", "" },
         { "A2", "B2", "" },
         { "A3", "B3", "" },
         { "A4", "B4", "" },
         { "A5", "B5", "" },
         { "A6", "B6", "" },
         { "A7", "B7", "" },
         { "A8", "B8", "" },
         { "A9", "B9", "" },
         { "A10", "B10", "" },
         { "A11", "B11", "" } };
         JTable table = null;
         public TableEdit2()
              super("Table Edit");
              setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
              createGUI();
              setLocationRelativeTo(null);
              setSize(400, 300);
              setVisible(true);
         private void createGUI()
              table = new JTable(data, columns)
                   public void setValueAt(Object value, int row, int column)
                        super.setValueAt(value, row, column);
                        ((AbstractTableModel) table.getModel()).fireTableRowsUpdated(
                                  row, row);
              table.getColumn("Action").setCellRenderer(new ButtonRenderer());
              table.getColumn("Action").setCellEditor(new MyTableEditor(new JTextField()));
              JScrollPane sc = new JScrollPane(table);
              add(sc);
         class ButtonRenderer extends DefaultTableCellRenderer
              JButton undoButton = new JButton("Undo");
              public ButtonRenderer()
                   super();
              public Component getTableCellRendererComponent(JTable table,
                        Object value, boolean isSelected, boolean hasFocus, int row,
                        int column)
                   Component comp = super.getTableCellRendererComponent(table, value,
                             isSelected, hasFocus, row, column);
                   if (column == 2)// The Action Column
                        Object checkValue = table.getValueAt(row, 1);
                        if ("Show".equals(String.valueOf(checkValue)))
                             return undoButton;
                   return comp;
         class MyTableEditor extends DefaultCellEditor
              JButton undoButton = new JButton("Undo");
              public MyTableEditor(JTextField dummy)
                   super(dummy);
                   setClickCountToStart(0);
                   undoButton.addActionListener(new ActionListener()
                        public void actionPerformed(ActionEvent e)
                             JOptionPane.showMessageDialog(null, "Do your Action Here");
              public Component getTableCellEditorComponent(JTable table,
                        Object value, boolean isSelected, int row, int column)
                   Component comp = super.getTableCellEditorComponent(table, value, isSelected, row, column);
                   if (column == 2)// The Action Column
                        Object checkValue = table.getValueAt(row, 1);
                        if ("Show".equals(String.valueOf(checkValue)))
                             return undoButton;
                   return comp;
              public Object getCellEditorValue()
                   return "";
          * @param args
         public static void main(String[] args)
              // TODO Auto-generated method stub
              new TableEdit2();
    }

  • Class inhertis from JButton, but button is not visible

    Hi!
    I'm having a class that inherits JButton. The idea was to give the button additional parameters, so it inherits from JButton to have all the attributes from JButton... But the problem is, that the Buttons are only visible when I touch them with the mouse. When I move the window they are invisible again...
    Does anybody know why? Thanks for your help!
    P.S Sorry for my bad english....

    Okay, thanks for that hint!
    Here is the class for the gui:
    import java.awt.GridBagConstraints;
    import java.awt.GridBagLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.BorderFactory;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JMenu;
    import javax.swing.JMenuBar;
    import javax.swing.JMenuItem;
    import javax.swing.JPanel;
    public class Temp extends JFrame{
         private static final long serialVersionUID = 5945597724189252185L;
         private JMenuItem closeItem = null;
         private JMenuItem newItem = null;
         private JPanel mainPanel = null;
         private JLabel startImage = null;
         private MineFieldButton[][] mines = null;
         public Temp(){
              this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
              addMenu();
              this.add(getMainPanel());
              this.pack();
         private JPanel getMainPanel(){
              if (mainPanel == null){
                   mainPanel = new JPanel();
                   if (mines == null)
                        mainPanel.add(getStartImage());
                   else{
                        mainPanel.setLayout(new GridBagLayout());
                        GridBagConstraints c = new GridBagConstraints();
                        c.fill = GridBagConstraints.HORIZONTAL;
                        c.ipady = 20;
                        c.ipadx = 20;
                        for (int x=0;x<mines.length;x++){
                             for (int y=0;y<mines[x].length;y++){
                                  c.gridx = x;
                                  c.gridy = y;
                                  mainPanel.add(mines[x][y],c);
              return mainPanel;
         private JLabel getStartImage(){
              if(startImage == null){
                   startImage = new JLabel();
              return startImage;
         private void addMenu(){
              JMenuBar menuBar = new JMenuBar();
              JMenu menu = new JMenu("File");
              menu.add(getNewItem());
              menu.add(getCloseItem());
              menuBar.add(menu);
              this.setJMenuBar(menuBar);
         private JMenuItem getNewItem(){
              if (newItem == null){
                   newItem = new JMenuItem("New");
                   newItem.addActionListener(new ActionListener(){
                        public void actionPerformed(ActionEvent e) {
                             createMines();
              return newItem;
         private JMenuItem getCloseItem(){
              if (closeItem == null){
                   closeItem = new JMenuItem("Close");
                   closeItem.addActionListener(new ActionListener(){
                        public void actionPerformed(ActionEvent e) {
                             System.exit(0);
              return closeItem;
         public void showGUI(){
              this.setVisible(true);
         private void createMines(){
              initMinesGUI();
              this.remove(getMainPanel());
              mainPanel = null;
              this.add(getMainPanel());
              this.pack();
         private void initMinesGUI(){
              mines  = new MineFieldButton[10][10];
              for (int x=0;x<mines.length;x++){
                   for (int y=0;y<mines[x].length;y++){
                        mines[x][y] = new MineFieldButton();
                        mines[x][y].setBorder(BorderFactory.createRaisedBevelBorder());
                        mines[x][y].setX(x);
                        mines[x][y].setY(y);
                        mines[x][y].setNumber(x*y);
    }And here for the class that inherits JButton "MineFieldButton":
    import javax.swing.JButton;
    public class MineFieldButton extends JButton{
         private static final long serialVersionUID = -1020769129018597011L;
         private int number = 0;
         private int x;
         private int y;
         public int getNumber() {
              return number;
         public void setNumber(int number) {
              this.number = number;
         public int getX() {
              return x;
         public void setX(int x) {
              this.x = x;
         public int getY() {
              return y;
         public void setY(int y) {
              this.y = y;
    }I hope that you can find my error.... And that this is a SSCCE :-)
    Thanks!

  • How to create proxy class for a Siebel WS which has many Workflows in it?

    Hi,
    I am facing a strange problem. I have a Web Service for which there are many workflows associated with this. When I generate WSDL for this Web Service and later on generate proxy class in .NET, it creates mutilple classes for each workflow. From UI, I can invoke a perticular method for the class for which I am interested in. But when I am building the same in JDeveloper, using Web Service proxy, I get only one class and I am not interested in invoking method in this class but interested in some other class for which the proxy was not generated. Is there some way to generate multiple classes in JDeveloper proxy?
    Thanks,
    Sudha.

    I have figured this out. Actually Generate proxy creates package and it includes all the class in it. Now i am able to invoke web service method call.

  • Unable to compile class for JSP

    Please can anyone help me to solve this.
    Actually,this is the condition.
    In my db,there is a table called UserPassword, which has 4
    fields(empNo,UserName,password,level). Now I want to do these things:
    When the user submits the data to create a new account via HTML form, it submits the data to the file called CreateAcc.jsp. In this file it perform some logic,here are they.
    1)To check the empNo,if it is already exist in the DB,
         if empNo =exist then display error.(record already exist)
         if empNo =notexist then do task 2).
    2)check the UserName,if it is already exist in the db,
         if UserName=exist then display error.(because it's a primary key)
         if UserName=notexist then do task 3).
    3)Create a new user account and save it to the db.
    To do these tasks,I never create a new objects for the tasks 1) and 2).
    only for task 3)create an object.
    Is it the right way?
    Here is the file CreateAcc.jsp
    <%@ page language="java" %>
    <%@ page import="core.UserAccManager" %>
    <%@ page import="data.UserPassword" %>
    <jsp:useBean id="UserAccManager" class="core.UserAccManager" scope="session"/>
    <jsp:setProperty name="UserAccManager" property="*"/>
    <jsp:useBean id="UserPassword" class="data.UserPassword" scope="session"/>
    <jsp:setProperty name="UserPassword" property="*"/>
    <%
    String nextPage ="MainForm.jsp";
    if(UserPassword.verifyEmpno()){
         if(UserPassword.verifyUsername()){
              if(UserPassword.createAcc()) nextPage ="MsgAcc.jsp";
          }else{
               nextPage="UserNameExist.jsp";
          else{
              nextPage="UserAccError.jsp";
    %>
    <jsp:forward page="<%=nextPage%>"/>The directory structure:
    UserPassword.java- F:/Project/core/data/UserPassword.java
    UserAccManager.java - F:/Project/core/UserAccManager.java
    Now both are compiling.I put the class files into the TOMCAT,as follows.
    UserAccManager.class - webapps/mySystemName/WEB-INF/classes/core/
    UserPassword.class - webapps/mySystemName/WEB-INF/classes/core/data/
    Here is the full code of the file UserAccManager.java.
    package core;               //Is this right?
    import data.UserPassword;     //Is this right?
    import java.io.*;
    import java.sql.*;
    import java.util.*;
    import javax.sql.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    public final class UserAccManager{
       private static final String DRIVER = "com.mysql.jdbc.Driver";
       private static final String URL = "jdbc:mysql://localhost:3306/superfine";
       private static Connection connection;
       private static PreparedStatement pstmt1;
       private static PreparedStatement pstmt2;     
       private static PreparedStatement pstmt3;     
       private UserAccManager(){
       // Initializes the connection and statements
       public static void initConnection() {
          if (connection == null) {
             try {
                String sql;
                // Open the database
                Class.forName(DRIVER).newInstance();
                connection = DriverManager.getConnection(URL);
                // Prepare the statements
               sql = "SELECT * FROM UserPassword where empNo= ?";
               pstmt1 = connection.prepareStatement(sql);
                sql = "SELECT UserName FROM UserPassword where UserName= ?";
                pstmt2 = connection.prepareStatement(sql);
             sql ="INSERT INTO UserPassword VALUES(?,?,?,?)";
             pstmt3 = connection.prepareStatement(sql);
             catch (Exception ex) {
                System.err.println(ex.getMessage());
       // Closes the connection and statements
       // Method to be called by main class when finished with DB
       public  void closeConnection() {
          //same as previous
       public static boolean verifyEmpno(int empno) {
          boolean emp_no_select_ok = false;
          int emp = -1;
          initConnection();
         try {
          pstmt1.setInt(1, empno);
             ResultSet rs1 = pstmt1.executeQuery();
         while(rs1.next()){
              emp=rs1.getInt("empNo");
         if(emp>0)
              emp_no_select_ok = false;
         } else{
              emp_no_select_ok = true;     
            rs1.close();
         pstmt1.close();     
          catch (Exception ex) {
             System.err.println(ex.getMessage());
          return emp_no_select_ok;
       public static boolean verifyUsername(String username) {
          boolean user_name_select_ok = false;
          String user = "xxxx";
          initConnection();
          try {
          pstmt2.setString(1, username);
             ResultSet rs2 = pstmt2.executeQuery();
            while(rs2.next()){
              user=rs2.getString("UserName");
               if(!user.equals("xxxx"))
              user_name_select_ok = false;
            } else{
              user_name_select_ok = true;     
           rs2.close();
          catch (Exception ex) {
             System.err.println(ex.getMessage());
          return user_name_select_ok;
         public static boolean createAcc(int empno, String username, String password, int
    level){
              boolean create_acc_ok = false;
              initConnection();
              try{
                      //create a new object,from the UserPassword table.
                   UserPassword useraccount = new UserPassword();
                   useraccount.setEmpno(empno);
                   useraccount.setUsername(username);
                   useraccount.setPassword(password);
                   useraccount.setLevel(level);
                   //assign value for ???
                   pstmt3.setInt(1, useraccount.getEmpno());
                   pstmt3.setString(2, useraccount.getUsername());
                   pstmt3.setString(3, useraccount.getPassword());
                   pstmt3.setInt(4, useraccount.getLevel());          
                   if(pstmt3.executeUpdate()==1) create_acc_ok=true;
                   pstmt3.close();
                           //con.close();
                catch(SQLException e2){
                           System.err.println(e2.getMessage());
              return create_acc_ok;
    }here is the bean (part of it)
    package data;               //is it right?
    import java.io.*;
    import java.sql.*;
    import java.util.*;
    import javax.sql.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    public class UserPassword
         private int empno;
         private String username;
         private String password;
         private int level;
         // Constructor
         public UserPassword()
              this.empno = empno;
              this.username = username;
              this.password = password;
              this.level = level;
         // setters and getters are here.
    //     public boolean verifyEmpno() {
    //               return UserAccManager.verifyEmpno(empno);
    //       public boolean verifyUsername(String username) {
    //            return UserAccManager.verifyUsername(username);
         // These 2 methods not compile with or without para's.So I leave that job for the      
         //controll class UserAccManager.java.
    Now my problem is this: When I submit data, there is an error;org.apache.jasper.JasperException: Unable to compile class for JSP
    An error occurred at line: -1 in the jsp file: null
    Generated servlet error:
    [javac] Compiling 1 source file
    C:\Program Files\Apache Group\Tomcat 4.1\work\Standalone\localhost\HRM\CreateAcc_jsp.java:8:
    cannot access core.data.UserPassword
    bad class file: C:\Program Files\Apache Group\Tomcat
    4.1\webapps\HRM\WEB-INF\classes\core\data\UserPassword.class
    class file contains wrong class: data.UserPassword
    Please remove or make sure it appears in the correct subdirectory of the classpath.
    import core.data.UserPassword;
    ^
    1 error
    Are there any mistakes? If so tell me where is it and how to change them.Please help.

    I try it that way, but it don't compile.
    Error:core\data\UserPassword.java:package javax.servlet does not exist
    import javax.servlet.*;
    core\data\UserPassword.java:package javax.servlet.http does not exist
    import javax.servlet.http.*;
    So,I comment them only in the UserPassword.java file,and compile it again.
    Then it compile well.I goto the directory to get the .class files.
    But there is only UserPassword.class inside the data folder. There is not
    UserAccManager.class in the core folder.
    Then I try this way,I put my 2 java files in to a new folder,
    F:\SystemName\com
    When I try it that way, but it don't compile.
    javac -classpath . -d . com\*.javaError:com\UserPassword.java:package javax.servlet does not exist
    import javax.servlet.*;
    com\UserPassword.java:package javax.servlet.http does not exist
    import javax.servlet.http.*;
    So,I comment them only in the UserPassword.java file,and compile it again.
    Now both are compiling well.There was 2 class files.
    I put them in to the WEB-INF/classes/com directory.
    Start the server.But it gave errors:
    C:\Program Files\Apache Group\Tomcat
    4.1\work\Standalone\localhost\HRM\CreateAcc_jsp.java:68: cannot resolve symbol
    symbol  : variable empno
    location: class org.apache.jsp.CreateAcc_jsp
    if(UserPassword.verifyEmpno(empno)){
                                ^
    C:\Program Files\Apache Group\Tomcat
    4.1\work\Standalone\localhost\HRM\CreateAcc_jsp.java:69: cannot resolve symbol
    symbol  : variable username
    location: class org.apache.jsp.CreateAcc_jsp
         if(UserAccManager.verifyUsername(username)){
                                             ^
    C:\Program Files\Apache Group\Tomcat
    4.1\work\Standalone\localhost\HRM\CreateAcc_jsp.java:69: non-static method
    verifyUsername(java.lang.String) cannot be referenced from a static context
         if(UserAccManager.verifyUsername(username)){
                             ^
    C:\Program Files\Apache Group\Tomcat
    4.1\work\Standalone\localhost\HRM\CreateAcc_jsp.java:70: cannot resolve symbol
    symbol  : variable empno
    location: class org.apache.jsp.CreateAcc_jsp
              if(UserAccManager.createAcc(empno, username,password,level)) nextPage
    ="MsgAcc.jsp";
                                                ^
    C:\Program Files\Apache Group\Tomcat
    4.1\work\Standalone\localhost\HRM\CreateAcc_jsp.java:70: cannot resolve symbol
    symbol  : variable username
    location: class org.apache.jsp.CreateAcc_jsp
              if(UserAccManager.createAcc(empno, username,password,level)) nextPage
    ="MsgAcc.jsp";
                                                       ^
    C:\Program Files\Apache Group\Tomcat
    4.1\work\Standalone\localhost\HRM\CreateAcc_jsp.java:70: cannot resolve symbol
    symbol  : variable password
    location: class org.apache.jsp.CreateAcc_jsp
              if(UserAccManager.createAcc(empno, username,password,level)) nextPage
    ="MsgAcc.jsp";
                                                                ^
    C:\Program Files\Apache Group\Tomcat
    4.1\work\Standalone\localhost\HRM\CreateAcc_jsp.java:70: cannot resolve symbol
    symbol  : variable level
    location: class org.apache.jsp.CreateAcc_jsp
              if(UserAccManager.createAcc(empno, username,password,level)) nextPage
    ="MsgAcc.jsp";
                                                                         ^
    C:\Program Files\Apache Group\Tomcat
    4.1\work\Standalone\localhost\HRM\CreateAcc_jsp.java:70: non-static method
    createAcc(int,java.lang.String,java.lang.String,int) cannot be referenced from a static
    context
              if(UserAccManager.createAcc(empno, username,password,level)) nextPage
    ="MsgAcc.jsp";
                                     ^
    8 errorsTo solve the problem non-static method,I goto the UserAccManager.java file and do these
    things.
    package com;
    import java.io.*;
    import java.sql.*;
    import java.util.*;
    import javax.sql.*;
    //import javax.servlet.*;               //otherwise it tells an error.(package           
                                  //javax.servlet does not exist)
    //import javax.servlet.http.*;
    public  class UserAccManager {
       private static final String DRIVER = "com.mysql.jdbc.Driver";
       private static final String URL = "jdbc:mysql://localhost:3306/superfine";
       private static Connection connection;
       private static PreparedStatement pstmt1;
        private static PreparedStatement pstmt2;
          private static PreparedStatement pstmt3;
       private UserAccManager() {
       // Initializes the connection and statements
       private static void initConnection() {
             //same
       // Closes the connection and statements
       // Method to be called by main class when finished with DB
       public static void closeConnection() {
         //same
       public static boolean verifyEmpno(int empno) {
          // same.
       public static boolean verifyUsername(String username) {
         //same.
         public static boolean createAcc(int empno, String username, String password, int      
    level){
              //same
    package com;
    import java.io.*;
    import java.sql.*;
    import java.util.*;
    import javax.sql.*;
    //import javax.servlet.*;
    //import javax.servlet.http.*;
    public class UserPassword {
         // same
    Again compile those files and put .class filses into the WEB-INF/classes/com directory.
    When i submits the data via the form it generates an error:
    org.apache.jasper.JasperException: Unable to compile class for JSP
    An error occurred at line: 9 in the jsp file: /CreateAcc.jsp
    Generated servlet error:
        [javac] Compiling 1 source file
    C:\Program Files\Apache Group\Tomcat
    4.1\work\Standalone\localhost\HRM\CreateAcc_jsp.java:68: cannot resolve symbol
    symbol  : variable empno
    location: class org.apache.jsp.CreateAcc_jsp
    if(UserAccManager.verifyEmpno(empno)){
                                  ^
    An error occurred at line: 9 in the jsp file: /CreateAcc.jsp
    Generated servlet error:
    C:\Program Files\Apache Group\Tomcat
    4.1\work\Standalone\localhost\HRM\CreateAcc_jsp.java:69: cannot resolve symbol
    symbol  : variable username
    location: class org.apache.jsp.CreateAcc_jsp
         if(UserAccManager.verifyUsername(username)){
                                             ^
    An error occurred at line: 9 in the jsp file: /CreateAcc.jsp
    Generated servlet error:
    C:\Program Files\Apache Group\Tomcat
    4.1\work\Standalone\localhost\HRM\CreateAcc_jsp.java:70: cannot resolve symbol
    symbol  : variable empno
    location: class org.apache.jsp.CreateAcc_jsp
              if(UserAccManager.createAcc(empno, username,password,level)) nextPage
    ="MsgAcc.jsp";
                                                ^
    An error occurred at line: 9 in the jsp file: /CreateAcc.jsp
    Generated servlet error:
    C:\Program Files\Apache Group\Tomcat
    4.1\work\Standalone\localhost\HRM\CreateAcc_jsp.java:70: cannot resolve symbol
    symbol  : variable username
    location: class org.apache.jsp.CreateAcc_jsp
              if(UserAccManager.createAcc(empno, username,password,level)) nextPage
    ="MsgAcc.jsp";
                                                       ^
    An error occurred at line: 9 in the jsp file: /CreateAcc.jsp
    Generated servlet error:
    C:\Program Files\Apache Group\Tomcat
    4.1\work\Standalone\localhost\HRM\CreateAcc_jsp.java:70: cannot resolve symbol
    symbol  : variable password
    location: class org.apache.jsp.CreateAcc_jsp
              if(UserAccManager.createAcc(empno, username,password,level)) nextPage
    ="MsgAcc.jsp";
                                                                ^
    An error occurred at line: 9 in the jsp file: /CreateAcc.jsp
    Generated servlet error:
    C:\Program Files\Apache Group\Tomcat
    4.1\work\Standalone\localhost\HRM\CreateAcc_jsp.java:70: cannot resolve symbol
    symbol  : variable level
    location: class org.apache.jsp.CreateAcc_jsp
              if(UserAccManager.createAcc(empno, username,password,level)) nextPage
    ="MsgAcc.jsp";
                                                                         ^
    6 errorshere is the CreateAcc.jsp file
    <%@ page language="java" %>
    <%@ page import="com.UserAccManager" %>
    <%@ page import="com.UserPassword" %>
    <jsp:useBean id="userPassword" class="com.UserPassword" scope="request"/>
    <jsp:setProperty name="userPassword" property="*" />
    <%
    String nextPage ="MainForm.jsp";
    if(UserAccManager.verifyEmpno(empno)){
         if(UserAccManager.verifyUsername(username)){
              if(UserAccManager.createAcc(empno, username,password,level)) nextPage
    ="MsgAcc.jsp";
          }else{
               nextPage="UserNameExist.jsp";
          else{
              nextPage="UserAccError.jsp";
    %>
    <jsp:forward page="<%=nextPage%>"/>Please, anyone know how to send these parameters to the java file.
    Thanks.

  • How to use inbound exit class for more than one workflow step

    Hi All,
    In Offline Workflow Approval Scenarios where the work items are sent to outlook of non sap users inbox through workitem exit of the respective workflow item. Based on the user reply from outlook email(either approve or reject) which sends an auto reply to Offline user . We configure an inbound exit class and assign the same in the SMICM transaction. Based on the code written using SAP_WAPI function modules in inbound class exit offline user gets the user approval result and performs the action in SAP.
    My question now Is how can we use this inbound exit class for all the steps of a workflow.
    For ex: In a workflow I have a decision step followed by an activity step. First I will write the work item exit for the user decision step and inbound exit code for the user decision step and offline user executed the user decision step with approve action.
    followed by that I have an activity step for that I will code a work item exit for that activity level but how can I user the same inbound exit class for the activity step as well .
    Quick reply  would be of great  help for me.
    With Best Regards,
    Veni

    For the outbound processing you have the option of replacing the workflow exit by chancing the bsp application of the extended notification (see note 1448241 solution as an example of how to do the change) and replacing the standard links with a "mailto:...".
    As far as the inbound processing, that depends on what should be done in the activity step, if for example you have a bapi which executes what the user does you can call it in the inbound class instead of the user and then the relevant wapi (complete the workitem/raise event etc.).

  • Error while mapping a Java class for a Search Dialog Box component

    Hi,
    Scenario : There is PAR which I have developed for the sorting options for a Search Component set to be used in Km Search Iview.
                   I have copied this PAR from a similiar search functionality and customised the same.
    Problem: When I deploy the PAR and then map this class for the sort options while creating a New Search Dialog box :
    I get the following "Class not found error" ... Please can you let me know what could be the problem.
    Any help would be appreciated here as I have tried all the possibilities to solve the problem.
    Regards,
    Vaishali.

    I modified the xml file as described in the forum.But the error persists.
    One interesting thing is:
    When I create model after restarting the NDS,I get the following error:
    org.eclipse.swt.SWTException: Failed to execute runnable <i>(java.lang.ExceptionInInitializerError: JCO.classInitialize(): Could not load middleware layer 'com.sap.mw.jco.rfc.MiddlewareRFC'
    JCO.nativeInit(): Could not initialize dynamic link library librfc. Found version "620.0.1237" but required at least version "620.0.1374".)</i>
    I get the NoClassDef found error next time onwards,
    Where do I get the 620.0.1374 version of librfc?
    thanx.
    Bhupesh

  • Is anyone else having email problems such as apps exiting in the middle of an email? It may be a wireless issue. I use First Class for work and yahoo email for personal. I will be in the middle of typing a long email and the app just quits, all data lost.

    Is anyone else having email problems such as apps exiting in the middle of an email? It may be a wireless issue. I use First Class for work and yahoo email for personal. I will be in the middle of typing a long email and the app just quits, all data lost.

    Have you tried restarting or resetting your iPad?
    Restart: Press On/Off button until the Slide to Power Off slider appears, select Slide to Power Off and, after the iPad shuts down, then press the On/Off button until the Apple logo appears.
    Reset: Press the Home and On/Off buttons at the same time and hold them until the Apple logo appears (about 10 seconds). Ignore the "Slide to power off"

  • Mail Server Hosted on outlook freely but services for same getting shut from 31 july 2014

    Dear Sir/ Madam,
    My Mail Server Hosted on outlook freely but services for same getting shutting from 31
    july 2014,
    i want to continue the same product please advice me to get the same, i got the mail from outlook is follow
    Dear Outlook.com Customer,
    About a month ago, we let you know that Outlook.com no longer supports new custom domain sign ups. As a current customer, we will continue to support the ability to log in to Outlook.com with your existing custom domain email address, but as of 31 July 2014,
    you will no longer be able to add or remove accounts in your domain.
    Instead, we recommend that administrators who wish to continue managing email addresses in their domain should consider Office 365 – Microsoft's premium online email service. By migrating to Office 365, you will be able to continue managing your custom domains,
    as well as benefit from modern enterprise-class mail, collaboration and communication tools.
    The previous email we sent you contained a complimentary 90-day subscription to Office 365 Small Business Premium for 5 users. This is a reminder that you need to redeem this offer before 15 July 2014.
    You will still be able to log in to Outlook.com with your custom domain during your Office 365 subscription, even if you choose to cancel your Office 365 subscription.
    How to migrate your account
    You can find a step-by-step guide to migrating your account here.
    Yours sincerely,
    The Outlook.com Team
    please help me,
    my contact no is - +91-9619899231

    Hi,
    Yes, as what Roady says, Outlook.com no longer supports new custom domain sign-ups. You can continue to login to Outlook.com with your existing custom domain email addresses. But after July 2014, domain administrators will no longer be able add or remove
    email accounts in your domain.
    Please consider to move to Office 365 to get enhanced features and capabilities for modern enterprise-class mail, collaboration and communications. About how to move your custom domain to Office 365, please refer to:
    http://windows.microsoft.com/en-us/outlook/migrate-custom-domain
    Regards,
    Winnie Liang
    TechNet Community Support

Maybe you are looking for

  • Creating all binary strings with n 1's and n 0's

    if i wanted to create all possible strings of n 1's and n 0's where there are never more 0's than 1's using 2 for loops and recursion how would i go about this? (the first for loop controlls how many 1's are in the string the second how many 0's up t

  • 10.10.3: firmware password not working anymore!

    dear all, since the great 10.10.3 my MBP 2015 doesn't recognize my firmware password anymore. What the ****?? I changed it lately, but, and I can't stress this enough: I HAVEN'T FORGOTTEN IT! I know exactly what I typed, I also know I put it in corre

  • I am trying to create a pop up page, using iweb 08

    I want to create a custom size pop up page using iweb08, using a html generator, I created the html code, I plugged it in using the html snippet widget. But its not working. Do you know what I am doing wrong? I love the look of http://jquery.com/demo

  • Can you get to homescreen without home button or gestures

    I have three Ipad"3"s Kiosks that block the home button from users, and restrict access to the power button. I want to disable gestures so people can not close out the app randomly, but without gestures and not being able to access the home button wi

  • How to dinamically add label to flex application...?

    Hi, I'm new to flex and I have to make component similar to this: http://imageupload.org/?d=F41EBEC01 I have 3 questions: 1. As you can see, component is divided on regions (here is 4 regions with different colors, but there can be more regions - thi