Java Mailing List Archive

http://www.gg3721.com/

Home » Struts Users Mailing List »

user Digest 27 Aug 2010 11:06:22 -0000 Issue 9157

user-digest-help

2010-08-27


Author LoginPost Reply

user Digest 27 Aug 2010 11:06:22 -0000 Issue 9157

Topics (messages 207313 through 207321):

NullPointerException while accessing request struts2
 207313 by: Rohit
 207314 by: Jan T. Kim
 207315 by: Rohit
 207316 by: Dale Newfield

FM template fall-back / multiple template loaders
 207317 by: java.rgm.spamgourmet.com

I cant load Select Box dynamically
 207318 by: vinodh r
 207319 by: Michal Ciasnocha
 207320 by: vinodh r
 207321 by: Michal Ciasnocha

Administrivia:

---------------------------------------------------------------------
To post to the list, e-mail: user@(protected)
To unsubscribe, e-mail: user-digest-unsubscribe@(protected)
For additional commands, e-mail: user-digest-help@(protected)

----------------------------------------------------------------------


Attachment: user_207313.ezm (zipped)
Hi,

I am facing a strange error in Struts2, I am getting a null pointer
exception when trying to set attribute into request scope,

Struts Problem Report

Struts has detected an unhandled exception: Messages:
File: org/apache/catalina/connector/Request.java Line number: 1,424
Stacktraces java.lang.NullPointerException

org.apache.catalina.connector.Request.setAttribute (Request.java:1424)
org.apache.catalina.connector.RequestFacade.setAttribute (RequestFacade.java:
503)
javax.servlet.ServletRequestWrapper.setAttribute (ServletRequestWrapper.java:
284)
com.inrev.bm.action.IRBrandMgmtAction.wrdTwts(IRBrandMgmtAction.java:81)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)

My code is given below,

public class IRBrandMgmtAction extends ActionSupport implements
SessionAware,ServletRequestAware {


private static final long serialVersionUID = 1L;

private Map session;

private HttpServletRequest request;

private IRWordToTrack wrdtotrack;

private IRBrandMgmtDAO brandMgmtDAO;

private static org.apache.log4j.Logger log =
Logger.getLogger(IRBrandMgmtAction.class);

and the method where this is happening,

public String wrdTwts()
{
  ArrayList<IRBrandTrackBean> messages = null;
  IRDateUtil dtUtil = new IRDateUtil();
  String wordId = request.getParameter("wordId");

  IRUser user = (IRUser) session.get("user");
  IRWordToTrack word = brandMgmtDAO.getWord(Integer.parseInt(wordId));

  if(word!=null)
  {
    messages =
brandMgmtDAO.viewMsgForUser(word.getWord().toUpperCase().trim(), null,
dtUtil.getTimeZoneOffset(user.getTimeZone()));
  }

  request.setAttribute("messages",messages);

  return "tweets";
}

I am using tomcat 6 server.

Regards, Rohit




Attachment: user_207314.ezm (zipped)
On Thu, Aug 26, 2010 at 10:24:41AM +0100, Rohit wrote:
> Hi,
>
> I am facing a strange error in Struts2, I am getting a null pointer
> exception when trying to set attribute into request scope,
>
> Struts Problem Report
>
> Struts has detected an unhandled exception: Messages:
> File: org/apache/catalina/connector/Request.java Line number: 1,424
> Stacktraces java.lang.NullPointerException
>
> org.apache.catalina.connector.Request.setAttribute (Request.java:1424)
> org.apache.catalina.connector.RequestFacade.setAttribute (RequestFacade.java:
> 503)
> javax.servlet.ServletRequestWrapper.setAttribute (ServletRequestWrapper.java:
> 284)
> com.inrev.bm.action.IRBrandMgmtAction.wrdTwts(IRBrandMgmtAction.java:81)
> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> java.lang.reflect.Method.invoke(Unknown Source)
>
> My code is given below,

have you implemented a setServletRequest method, as described in the FAQ
at
  http://struts.apache.org/2.2.1/docs/how-can-we-access-the-httpservletrequest.html

Best regards, Jan

> public class IRBrandMgmtAction extends ActionSupport implements
> SessionAware,ServletRequestAware {
>
>
> private static final long serialVersionUID = 1L;
>
> private Map session;
>
> private HttpServletRequest request;
>
> private IRWordToTrack wrdtotrack;
>
> private IRBrandMgmtDAO brandMgmtDAO;
>
> private static org.apache.log4j.Logger log =
> Logger.getLogger(IRBrandMgmtAction.class);
>
> and the method where this is happening,
>
> public String wrdTwts()
> {
>   ArrayList<IRBrandTrackBean> messages = null;
>   IRDateUtil dtUtil = new IRDateUtil();
>   String wordId = request.getParameter("wordId");
>
>   IRUser user = (IRUser) session.get("user");
>   IRWordToTrack word = brandMgmtDAO.getWord(Integer.parseInt(wordId));
>
>   if(word!=null)
>   {
>      messages =
> brandMgmtDAO.viewMsgForUser(word.getWord().toUpperCase().trim(), null,
> dtUtil.getTimeZoneOffset(user.getTimeZone()));
>   }
>
>   request.setAttribute("messages",messages);
>
>   return "tweets";
> }
>
> I am using tomcat 6 server.
>
> Regards, Rohit
>
>
>

--
+- Jan T. Kim -------------------------------------------------------+
|         email: j.kim@(protected)                      |
|         WWW:  http://www.cmp.uea.ac.uk/people/jtk         |
*-----=< hierarchical systems are for files, not for humans >=-----*


Attachment: user_207315.ezm (zipped)
Yes I have done that, it's not that every time I am getting the null pointer
exception. It's happening randomly.

Regards,
Rohit

-----Original Message-----
From: Jan T. Kim [mailto:j.kim@(protected)]
Sent: 26 August 2010 16:31
To: user@(protected)
Subject: Re: NullPointerException while accessing request struts2

On Thu, Aug 26, 2010 at 10:24:41AM +0100, Rohit wrote:
> Hi,
>
> I am facing a strange error in Struts2, I am getting a null pointer
> exception when trying to set attribute into request scope,
>
> Struts Problem Report
>
> Struts has detected an unhandled exception: Messages:
> File: org/apache/catalina/connector/Request.java Line number: 1,424
> Stacktraces java.lang.NullPointerException
>
> org.apache.catalina.connector.Request.setAttribute (Request.java:1424)
>
org.apache.catalina.connector.RequestFacade.setAttribute (RequestFacade.java:
> 503)
>
javax.servlet.ServletRequestWrapper.setAttribute (ServletRequestWrapper.java:
> 284)
> com.inrev.bm.action.IRBrandMgmtAction.wrdTwts(IRBrandMgmtAction.java:81)
> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> java.lang.reflect.Method.invoke(Unknown Source)
>
> My code is given below,

have you implemented a setServletRequest method, as described in the FAQ
at

http://struts.apache.org/2.2.1/docs/how-can-we-access-the-httpservletrequest
.html

Best regards, Jan

> public class IRBrandMgmtAction extends ActionSupport implements
> SessionAware,ServletRequestAware {
>
>
> private static final long serialVersionUID = 1L;
>
> private Map session;
>
> private HttpServletRequest request;
>
> private IRWordToTrack wrdtotrack;
>
> private IRBrandMgmtDAO brandMgmtDAO;
>
> private static org.apache.log4j.Logger log =
> Logger.getLogger(IRBrandMgmtAction.class);
>
> and the method where this is happening,
>
> public String wrdTwts()
> {
>   ArrayList<IRBrandTrackBean> messages = null;
>   IRDateUtil dtUtil = new IRDateUtil();
>   String wordId = request.getParameter("wordId");
>
>   IRUser user = (IRUser) session.get("user");
>   IRWordToTrack word = brandMgmtDAO.getWord(Integer.parseInt(wordId));
>
>   if(word!=null)
>   {
>      messages =
> brandMgmtDAO.viewMsgForUser(word.getWord().toUpperCase().trim(), null,
> dtUtil.getTimeZoneOffset(user.getTimeZone()));
>   }
>
>   request.setAttribute("messages",messages);
>
>   return "tweets";
> }
>
> I am using tomcat 6 server.
>
> Regards, Rohit
>
>
>

--
+- Jan T. Kim -------------------------------------------------------+
|         email: j.kim@(protected)                      |
|         WWW:  http://www.cmp.uea.ac.uk/people/jtk         |
*-----=< hierarchical systems are for files, not for humans >=-----*

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@(protected)
For additional commands, e-mail: user-help@(protected)



Attachment: user_207316.ezm (zipped)
On 8/26/10 7:04 AM, Rohit wrote:
> Yes I have done that, it's not that every time I am getting the null pointer
> exception. It's happening randomly.

First I'd track down the code in question and see just what objects are
getting dereferenced on that line. If you have any problem that is not
deterministic, I.E. happens *sometimes* but not in other seemingly
identical instances, I'd look to race conditions on non-thread-safe
objects that might be stored in a scope that gets shared between
threads/requests/etc.

-Dale


Attachment: user_207317.ezm (zipped)
Is there a way to specify an alternate location for a result template in cases when the template is not found? If the specified template is missing, I'd like the framework to try looking in a different location before giving me a 500 error.

I'm already using OGNL in my result configuration, but in this case the getLocation() method is unable to determine for itself whether "login.ftl" exists, since the string "login.ftl" does not appear to be accessible from the ActionContext.  I don't know how to make the action aware of the fact that the result will be "login.ftl" such that getLocation() is able to call File.exists().

<result name="success" type="freemarker">/${location}/login.ftl</result>

Is there perhaps a better way to handle this type of situation?
Would you recommend that I extend the FreemarkerManager class and add my own TemplateLoader into the MultiTemplateLoader list?

Sincerely,
-rgm


Attachment: user_207318.ezm (zipped)
Hi,I cant load Select box dynamically. I am new to struts2, but i can do it statically in action page so that it will refelect in jsp page. But what i have to do modification in action page so that i get display in jsp page i loaded array list dynamically from database. Thanks in advance.

Here is the action
//CountryAction .javapackage com.pac.struts.action;import java.sql.SQLException;import java.util.ArrayList;
import com.opensymphony.xwork2.ActionSupport;import com.pac.struts.DataConn.Data_Conn;import com.pac.struts.model.Country;public class CountryAction extends ActionSupport{  private static final long serialVersionUID = 1L;  private String country;  private ArrayList<Country> countryList;  public ArrayList list;  public String populate() throws Exception{    list = Data_Conn.load_country();    return "populate";  }  public String execute(){    return SUCCESS;  }  public String getCountry(){    return country;  }  public void setCountry(String country){    this.country = country;  }  public ArrayList<Country> getCountryList(){    return countryList;  }  public void setCountryList(ArrayList<Country> countryList){    this.countryList = countryList;  }}


/****Data_Conn.java**/package com.pac.struts.DataConn;
import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.ArrayList;
import com.pac.struts.model.Country;
public class Data_Conn {  static Connection con;  static Statement st;
 static ResultSet rs;  public static void connection_1() throws ClassNotFoundException, SQLException{    Class.forName("com.mysql.jdbc.Driver");    con = (Connection)DriverManager.getConnection("jdbc:mysql://localhost:3306/test?user=root&password=root");    st = con.createStatement();    System.out.println("Open Connection Initiated");  }  public static void close_1() throws SQLException{  
 st.close();    con.close();    System.out.println("Close Connection Initiated");  }    public static ArrayList<Country> load_country() throws ClassNotFoundException, SQLException {    connection_1();    rs = st.executeQuery("select * from test.country_tbl");    ArrayList<Country> countryList = null;  
 while(rs.next()){      countryList = new ArrayList<Country>();      countryList.add(new Country(rs.getInt(1), rs.getString(2)));    }    close_1();    System.out.println("List Operation Completed");    return countryList;  }      
 }
/*****Country.java***/package com.pac.struts.model;
public class Country {  private int countryId;  private String countryName;    public Country(int countryId, String countryName){    this.countryId = countryId;    this.countryName = countryName;  }

 public int getCountryId() {    return countryId;  }
 public void setCountryId(int countryId) {    this.countryId = countryId;  }
 public String getCountryName() {    return countryName;  }
 public void setCountryName(String countryName) {    this.countryName = countryName;  }  
}

/*****countryworld.jsp**/<s:form action="CountryAct"><s:select name="country" list="countryList" listKey="countryId" listValue="countryName" headerKey="0" headerValue="Country" label="Select a country" /></s:form>




Attachment: user_207319.ezm (zipped)
Hi,

in class CountryAction you need assign retreived values from database to
countryList attribute, not list (you have in jsp ... list="countryList"
...).

vinodh r wrote on 27.8.2010 7:04:
> Hi,I cant load Select box dynamically. I am new to struts2, but i can do it statically in action page so that it will refelect in jsp page. But what i have to do modification in action page so that i get display in jsp page i loaded array list dynamically from database. Thanks in advance.
>
> Here is the action
> //CountryAction .javapackage com.pac.struts.action;import java.sql.SQLException;import java.util.ArrayList;
> import com.opensymphony.xwork2.ActionSupport;import com.pac.struts.DataConn.Data_Conn;import com.pac.struts.model.Country;public class CountryAction extends ActionSupport{  private static final long serialVersionUID = 1L;  private String country;  private ArrayList<Country> countryList;  public ArrayList list;  public String populate() throws Exception{    list = Data_Conn.load_country();    return "populate";  }  public String execute(){    return SUCCESS;  }  public String getCountry(){    return country;  }  public void setCountry(String country){    this.country = country;  }  public ArrayList<Country> getCountryList(){    return countryList;  }  public void setCountryList(ArrayList<Country> countryList){    this.countryList = countryList;  }}
>
>
> /****Data_Conn.java**/package com.pac.struts.DataConn;
> import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.ArrayList;
> import com.pac.struts.model.Country;
> public class Data_Conn {  static Connection con;  static Statement st;
>  static ResultSet rs;  public static void connection_1() throws ClassNotFoundException, SQLException{    Class.forName("com.mysql.jdbc.Driver");    con = (Connection)DriverManager.getConnection("jdbc:mysql://localhost:3306/test?user=root&password=root");    st = con.createStatement();    System.out.println("Open Connection Initiated");  }  public static void close_1() throws SQLException{  
>  st.close();    con.close();    System.out.println("Close Connection Initiated");  }    public static ArrayList<Country> load_country() throws ClassNotFoundException, SQLException {    connection_1();    rs = st.executeQuery("select * from test.country_tbl");    ArrayList<Country> countryList = null;  
>  while(rs.next()){      countryList = new ArrayList<Country>();      countryList.add(new Country(rs.getInt(1), rs.getString(2)));    }    close_1();    System.out.println("List Operation Completed");    return countryList;  }      
>  }
> /*****Country.java***/package com.pac.struts.model;
> public class Country {  private int countryId;  private String countryName;    public Country(int countryId, String countryName){    this.countryId = countryId;    this.countryName = countryName;  }
>
>  public int getCountryId() {    return countryId;  }
>  public void setCountryId(int countryId) {    this.countryId = countryId;  }
>  public String getCountryName() {    return countryName;  }
>  public void setCountryName(String countryName) {    this.countryName = countryName;  }  
> }
>
> /*****countryworld.jsp**/<s:form action="CountryAct"><s:select name="country" list="countryList" listKey="countryId" listValue="countryName" headerKey="0" headerValue="Country" label="Select a country" /></s:form>
>
>
>
>

Attachment: user_207320.ezm (zipped)
Hi, Thanks for reply Mr.Michal Ciasnocha... I cant understand i need some explanation, i don't know how to set in a attribute. 
Also I can't copy the result returned from " Data_Conn.load_country() to another list or array list. only chance is to use " Data_Conn.load_country()" as a original.
if you know please do some modification on action page and paste as reply. Thanks in advance.
Vinodh .R--- On Fri, 8/27/10, Michal Ciasnocha <mc@(protected):

From: Michal Ciasnocha <mc@(protected)>
Subject: Re: I cant load Select Box dynamically
To: "Struts Users Mailing List" <user@(protected)>
Date: Friday, August 27, 2010, 3:14 AM

  Hi,

in class CountryAction you need assign retreived values from database to
countryList attribute, not list (you have in jsp ... list="countryList"
...).

vinodh r wrote on 27.8.2010 7:04:
> Hi,I cant load Select box dynamically. I am new to struts2, but i can do it statically in action page so that it will refelect in jsp page. But what i have to do modification in action page so that i get display in jsp page i loaded array list dynamically from database. Thanks in advance.
>
> Here is the action
> //CountryAction .javapackage com.pac.struts.action;import java.sql.SQLException;import java.util.ArrayList;
> import com.opensymphony.xwork2.ActionSupport;import com.pac.struts.DataConn.Data_Conn;import com.pac.struts.model.Country;public class CountryAction extends ActionSupport{    private static final long serialVersionUID = 1L;    private String country;    private ArrayList<Country>  countryList;    public ArrayList list;    public String populate() throws Exception{        list = Data_Conn.load_country();        return "populate";    }    public String execute(){        return SUCCESS;    }    public String getCountry(){        return country;    }    public void setCountry(String country){        this.country = country;    }    public ArrayList<Country>  getCountryList(){        return countryList;    }    public void setCountryList(ArrayList<Country>  countryList){        this.countryList = countryList;    }}
>
>
> /****Data_Conn.java**/package com.pac.struts.DataConn;
> import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.ArrayList;
> import com.pac.struts.model.Country;
> public class Data_Conn {    static Connection con;    static Statement st;
>     static ResultSet rs;    public static void connection_1() throws ClassNotFoundException, SQLException{        Class.forName("com.mysql.jdbc.Driver");        con = (Connection)DriverManager.getConnection("jdbc:mysql://localhost:3306/test?user=root&password=root");        st = con.createStatement();        System.out.println("Open Connection Initiated");    }    public static void close_1() throws SQLException{   
>     st.close();        con.close();        System.out.println("Close Connection Initiated");    }        public static ArrayList<Country>  load_country() throws ClassNotFoundException, SQLException {        connection_1();        rs = st.executeQuery("select * from test.country_tbl");        ArrayList<Country>  countryList = null;   
>     while(rs.next()){            countryList = new ArrayList<Country>();            countryList.add(new Country(rs.getInt(1), rs.getString(2)));        }        close_1();        System.out.println("List Operation Completed");        return countryList;    }           
>     }
> /*****Country.java***/package com.pac.struts.model;
> public class Country {    private int countryId;    private String countryName;        public Country(int countryId, String countryName){        this.countryId = countryId;        this.countryName = countryName;    }
>
>     public int getCountryId() {        return countryId;    }
>     public void setCountryId(int countryId) {        this.countryId = countryId;    }
>     public String getCountryName() {        return countryName;    }
>     public void setCountryName(String countryName) {        this.countryName = countryName;    }   
> }
>
> /*****countryworld.jsp**/<s:form action="CountryAct"><s:select name="country" list="countryList" listKey="countryId" listValue="countryName" headerKey="0" headerValue="Country" label="Select a country" /></s:form>
>
>
>
>




Attachment: user_207321.ezm (zipped)
Basic example:

you have jsp:

<s:form action="CountryAct">
  <s:select name="country" list="countryList" listKey="countryId" listValue="countryName" headerKey="0" headerValue="Country" label="Select a country" />
</s:form>


and your are accessing action CountryAction. In class CountryAction you
must create getter method for list attibute of select tag. Your list has
name "countryList". So you need to create getter method
List<SomeClass> getCountryList() { return countryList; }

In countryList attribute you must have values which you want to get on
your page. Your code have populate method - here you get data from
database and these values are saved into list variable. Why do you have
this variable named list and not countryList? Method getCountryList()
returns empty variable. Information which you need are in list variable,
but you are not accesing it - you getter calls countryList variable.
Just rename list variable to countryList.

vinodh r wrote on 27.8.2010 12:14:
> Hi, Thanks for reply Mr.Michal Ciasnocha... I cant understand i need some explanation, i don't know how to set in a attribute.
> Also I can't copy the result returned from " Data_Conn.load_country() to another list or array list. only chance is to use " Data_Conn.load_country()" as a original.
> if you know please do some modification on action page and paste as reply. Thanks in advance.
> Vinodh .R--- On Fri, 8/27/10, Michal Ciasnocha<mc@(protected):
>
> From: Michal Ciasnocha<mc@(protected)>
> Subject: Re: I cant load Select Box dynamically
> To: "Struts Users Mailing List"<user@(protected)>
> Date: Friday, August 27, 2010, 3:14 AM
>
>   Hi,
>
> in class CountryAction you need assign retreived values from database to
> countryList attribute, not list (you have in jsp ... list="countryList"
> ...).
>
> vinodh r wrote on 27.8.2010 7:04:
>> Hi,I cant load Select box dynamically. I am new to struts2, but i can do it statically in action page so that it will refelect in jsp page. But what i have to do modification in action page so that i get display in jsp page i loaded array list dynamically from database. Thanks in advance.
>>
>> Here is the action
>> //CountryAction .javapackage com.pac.struts.action;import java.sql.SQLException;import java.util.ArrayList;
>> import com.opensymphony.xwork2.ActionSupport;import com.pac.struts.DataConn.Data_Conn;import com.pac.struts.model.Country;public class CountryAction extends ActionSupport{   private static final long serialVersionUID = 1L;   private String country;   private ArrayList<Country>  countryList;   public ArrayList list;   public String populate() throws Exception{     list = Data_Conn.load_country();     return "populate";   }   public String execute(){     return SUCCESS;   }   public String getCountry(){     return country;   }   public void setCountry(String country){     this.country = country;   }   public ArrayList<Country>  getCountryList(){     return countryList;   }   public void setCountryList(ArrayList<Country>  countryList){     this.countryList = countryList;   }}
>>
>>
>> /****Data_Conn.java**/package com.pac.struts.DataConn;
>> import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.ArrayList;
>> import com.pac.struts.model.Country;
>> public class Data_Conn {   static Connection con;   static Statement st;
>>    static ResultSet rs;   public static void connection_1() throws ClassNotFoundException, SQLException{     Class.forName("com.mysql.jdbc.Driver");     con = (Connection)DriverManager.getConnection("jdbc:mysql://localhost:3306/test?user=root&password=root");     st = con.createStatement();     System.out.println("Open Connection Initiated");   }   public static void close_1() throws SQLException{  
>>    st.close();     con.close();     System.out.println("Close Connection Initiated");   }     public static ArrayList<Country>  load_country() throws ClassNotFoundException, SQLException {     connection_1();     rs = st.executeQuery("select * from test.country_tbl");     ArrayList<Country>  countryList = null;  
>>    while(rs.next()){        countryList = new ArrayList<Country>();        countryList.add(new Country(rs.getInt(1), rs.getString(2)));     }     close_1();     System.out.println("List Operation Completed");     return countryList;   }      
>>    }
>> /*****Country.java***/package com.pac.struts.model;
>> public class Country {   private int countryId;   private String countryName;     public Country(int countryId, String countryName){     this.countryId = countryId;     this.countryName = countryName;   }
>>
>>    public int getCountryId() {     return countryId;   }
>>    public void setCountryId(int countryId) {     this.countryId = countryId;   }
>>    public String getCountryName() {     return countryName;   }
>>    public void setCountryName(String countryName) {     this.countryName = countryName;   }  
>> }
>>
>> /*****countryworld.jsp**/<s:form action="CountryAct"><s:select name="country" list="countryList" listKey="countryId" listValue="countryName" headerKey="0" headerValue="Country" label="Select a country" /></s:form>
>>
>>
>>
>>
>
>
>
©2008 gg3721.com - Jax Systems, LLC, U.S.A.