JSP :: Variable Defined In One Scriptlet Not Visible In Another
May 25, 2011
I'm having an issue when I try to define a variable in a JSP scriptlet, and then in a separate scriptlet on the same page attempt to use the variable. It looks like it goes out of scope.
I also cannot reference a variable from a servlet in a JSP expression tag. So I've had to write the entire page basically in one scriptlet.
I'm trying to build a program that will output what will ultimately look like a simple mario level turned on its side. As part of my output I need the user to define what mario looks like. I do this using Scanner and save the input to String mario. When I try to use that variable in another method it gives me troubles.
import java.util.Scanner; public class Mario2 { public static void mario() { //user defines mario String mario = ">->O"; Scanner keys = new Scanner(System.in); System.out.println("What does mario look like?"); mario = keys.next(); System.out.println("Mario now looks like: " + mario);
this code won't compile because selected row must be declared as final because of it being defined outside the window listener. Is their anyway around this? If I make it final the first time that the variable is called it keeps it starting value until the GUI is closed.
butEdit.addActionListener (new ActionListener () { @Override public void actionPerformed (java.awt.event.ActionEvent evt) { int selectedRow = table.getSelectedRow (); final String [] values = custTableModel.getRowValues (selectedRow);
Created a java.sql.connection object. Refering those obj inside public void run() { } If i declare as final inside a method, i can't refer those outside method due to scope. Cannot refer to a non-final variable dbConnObj inside an inner class defined in a different method...
so i'm following a java tutorial from the book and it has a few challenge questions. and i'm stucked on one. i think i just don't understand what is it that its asking me. heres the question, Write a statement that reads a user's input integer into the defined variable, and a second statement that prints the integer. assuming scanner is given, and i checked my heading code is ok.
Scanner scnr = new Scanner(System.in); int userNum = 0; System.out.println("What is the product of 8 time 2"); userNum = scnr.nextInt();
<jsp:directive.include file='<%= session.getAttribute("htmlPath").toString(); %>' / I tried to add a Scriptlet in a jsp directive like above. But am keep getting the below error.
HTTP Status 500 - /parseXML.jsp (line: 86, column: 1) File "<%= session.getAttribute("htmlPath").toString(); %>" not found
type Exception report message /parseXML.jsp (line: 86, column: 1) File "<%= session.getAttribute("htmlPath").toString(); %>" not found description The server encountered an internal error that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: /parseXML.jsp (line: 86, column: 1) File "<%= session.getAttribute("htmlPath").toString(); %>" not found org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:42) org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:443) org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:133) org.apache.jasper.compiler.Parser.processIncludeDirective(Parser.java:322) org.apache.jasper.compiler.Parser.parseIncludeDirective(Parser.java:357) org.apache.jasper.compiler.Parser.parseXMLDirective(Parser.java:533) org.apache.jasper.compiler.Parser.parseFileDirectives(Parser.java:1764) org.apache.jasper.compiler.Parser.parse(Parser.java:135)
JFileChooser fileChooser = new JFileChooser(); fileChooser.setCurrentDirectory(new File(currentDirectory));
File f = new File(currentDirectory); ArrayList<String> names = new ArrayList<>(Arrays.asList(f.list())); for (String s : names) if (s.startsWith(yearofIssueTXT.getText())) { fileChooser.setSelectedFile(new File(s));
int result = fileChooser.showOpenDialog(addNewCoinBody);
The file is not visible because it is at almost the end of the files in the directory. I want the filechooser to automatically scroll so that the file is seen in the list.
I' currently wrking on BeatBox application from Head First Java. I made a jpanel the pane of the frame & when i try to add a JMenuBar object to that it is not getting displayed when i run the code. When i add a menuBar directly to the JFrame object it is visible & working fine but not incase when added to JPanel.
I've been creating a digital clock using Java, and have made the mouse cursor invisible after a set period of time (40-seconds) and had the thought to make it visible again if mouse was moved.
Here's the code that makes it invisible:
ActionListener mouseTimeout = new ActionListener() { public void actionPerformed(ActionEvent e) { setCursor(blankCursor); } }; /* Make mouse cursor disappear after 40 seconds */ Timer mTimeout = new Timer(40000, mouseTimeout); mTimeout.start();
And here is what I have so far for making it visible again:
MouseMotionListener mouse = new MouseMotionListener() { @Override public void mouseDragged(MouseEvent e) { } @Override public void mouseMoved(MouseEvent e) { } };
I have tried using "setCursor(DEFAULT_CURSOR)" but NetBeans says that it "cannot find symbol" .....
I'm trying to make a simple table with JTable class by reading the following tutorial but when try to see my JTable my program doesn't show me nothing! What i'm doing wrong?
[Code] .....
import javax.swing.JScrollPane; import javax.swing.JTable; public class MyFirstTable { public static void main( String[] args ) { String[] columnNames = {"First Name", "Last Name",
I'm trying to make a button that will make a panel not visible and then will make another panel visible but i keep getting this error...
test.java:19: error: local variable panel is accessed from within inner class; needs to be declared final
panel.setVisible(false); ^ 1 error
Java Code:
import java.awt.*; import java.awt.event.*; import javax.swing.*; public class test{ public static void main(String[] args){ JFrame test = new JFrame("Test"); test.setSize(600,400);
I found the following inheritance and encapsulation issue . Suppose you have a parent class with a non-static protected attribute.
package package1; public class Parent{ protected int a = 10; // this is the non-static protected attribute in question public static void main(String args[]){ // whatever logic }// end Parent class }// end main()
Now suppose you have a child class in another package and you have imported in the parent class.
package package2; import package1.Parent; public class Child extends Parent{ public static void main(String[] args){ Parent p = new Parent(); Child c = new Child();
System.out.println(p.a); //should print out 10 BUT DOES NOT System.out.println(c.a); //should print out 10 }// end main() }// end Child class
My observation is that p.a produces an error even though, to the best of my knowledge, it should not. I believe the statement "System.out.println(p.a);" should print out a 10.
Am I misunderstanding something about inheritance and encapsulation?
I am building a little application for personal use where I can track my finance. Now, what I would like to get is an always visible JTable "footer" OR horizontal space field attached to the bottom of the window. The idea is that scrolling down/up wouldn't affect it's visibility(like JTable header). Might a picture tell a thousand words: see attachment.
I am wondering, maybe JTable OR TableModel class has a property to solve this problem(I haven't found any)? Or shall I make another ScrollPane/JPanel? Which path of search shall I pursue?
In my code where the Button Action Performed is created, I have done the following to ensure that the visibility of the JTable and JScrollPane have been set to true. But it does not work?
I have noticed a strange behavior of Combobox element. The number of visible rows is not the same established by setVisibleRowCount() method. It happens when changing the items list dynamically. The following example reproduces it. I think it is Javafx 8 bug. I have tried unsuccessfully to trigger some event indirectly to refresh the combobox drop down.
import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.Button; import javafx.scene.control.ComboBox; import javafx.scene.layout.HBox; import javafx.stage.Stage; public class TestComboBox extends Application { private int count;
I am building an application that shows tables with large amounts of data containing columns that should display a thumbnail. However, this thumbnail is supposed to be loaded in the background lazily, when a row becomes visible because it is computationally too expensive to to this when the model data is loaded and typically not necessary to retrieve the thumbnail for all data that is in the table.
I have done the exact same thing in the past in a Swing application by doing this:
Whenever the model has changed or the vertical scrollbar has moved:
- Render a placeholder image in the custom cell renderer for this JTable if no image is available in the model object representing the corresponding row - Compute the visible rows by using getVisibleRect and rowAtPoint methods in JTable - Start a background thread that retrieves the image for the given rows and sets the resulting BufferedImage in a custom Model Object that was used in the TableModel (if not already there because of an earlier run) - Fire a corresponding model change event in the EDT whenever an image has been retrieved in the background thread so the row is rendered again
Btw. the field in the model class holding the BufferedImage was a weak reference in this case so the memory can be reclaimed as needed by the application.
What is the best way to achieve this behaviour using a JFX TableView? I have so far failed to find anything in the API to retrieve the visible items/rows. Is there a completely different approach available/required that uses the Cell API? I fail to see it so far.
In my main method I am trying to create a Timer, but when I put new Timer(1000,listener) the constructor is not defined. It is when there is nothing in it. I find this super weird because in all my other programs this does not happen. I looked at the documentation and can't see what I am doing wrong, so I turn here.
I know that I am not 100% comprehending try/catch blocks, but after scouring message boards, forums, and Oracle, I still can't pick out where I am going wrong.
I have a ValidateInput class where I am trying to check that a String only has letters. If not, then throw an exception message via JOptionPane. I created my own NonLetterException class. When I call the method containing the try/catch Eclipse gives me an Unhandled Exception Type error.
in main() ValidateInput validate = new ValidateInput(); String name = "error"; for(int x = 0; x < 1;){ name = JOptionPane.showInputDialog("Welcome. What is your name?"); boolean isItName = validate.stringInput(name); //error appears at validate.stringInput if(isItName)
[code]....
Aren't I handling it in the try/catch? What did I miss?
Also, I have have tried the NonLetterException class as nested in ValidatedInput, but also not nested. To me nested makes more sense. I have never nested classes before, but it makes sense to me because I am not using this exception in other parts of my program.