當使用者輸入查詢條件,並按下查詢按鈕,系統會自動將符合條件的資料呈現於data grid中,使用者選擇某筆資料,點選查詢
當使用者點選查詢後,系統會將資料庫的資料帶入dialog中:
系統會根據欄位值來決定radio button要預設選擇哪一個,以及決定checkbox是否要打勾
Radio button
原本的寫法:
採用filter的寫法:
Checkbox
原本的寫法:
採用filter的寫法:
有關filter的文件,請參考:http://api.jquery.com/filter/
1 2 3 4 5 6 7 | net.sf.json.JSONException: There is a cycle in the hierarchy! at net.sf.json.util.CycleDetectionStrategy$StrictCycleDetectionStrategy.handleRepeatedReferenceAsObject(CycleDetectionStrategy.java:97) at net.sf.json.JSONObject._fromBean(JSONObject.java:674) at net.sf.json.JSONObject.fromObject(JSONObject.java:181) at net.sf.json.JSONArray._processValue(JSONArray.java:2381) at net.sf.json.JSONArray.processValue(JSONArray.java:2412) Truncated. see log file for complete stacktrace |
[10/09/03 15:22:21:394 GMT] 00000031 SystemErr R com.ibm.websphere.management.exception.AdminExcept ion: ADMA0174E: The filepermission argument contains an invalid format or contains an invalid regular expression pattern: {0}. Correct format is file_pattern=permission. Multiple filepermissions are separated by a # (Example: .*\.jsp=644#.*\.xml=744).
[10/09/03 15:22:21:394 GMT] 00000031 SystemErr R at com.ibm.ws.management.application.UpdateSchedulerI mpl.validateParams(UpdateSchedulerImpl.java:301)
[10/09/03 15:22:21:394 GMT] 00000031 SystemErr R at com.ibm.ws.management.application.UpdateSchedulerI mpl.setupTasks(UpdateSchedulerImpl.java:214)
[10/09/03 15:22:21:410 GMT] 00000031 SystemErr R at com.ibm.ws.management.application.SchedulerImpl.ru n(SchedulerImpl.java:250)
[10/09/03 15:22:21:410 GMT] 00000031 SystemErr R at java.lang.Thread.run(Thread.java:797)
[10/09/03 15:22:33:301 GMT] 00000034 SystemErr R com.ibm.websphere.management.exception.AdminExcept ion: ADMA0174E: The filepermission argument contains an invalid format or contains an invalid regular expression pattern: {0}. Correct format is file_pattern=permission. Multiple filepermissions are separated by a # (Example: .*\.jsp=644#.*\.xml=744).
[10/09/03 15:22:33:301 GMT] 00000034 SystemErr R at com.ibm.ws.management.application.UpdateSchedulerI mpl.validateParams(UpdateSchedulerImpl.java:301)
[10/09/03 15:22:33:301 GMT] 00000034 SystemErr R at com.ibm.ws.management.application.UpdateSchedulerI mpl.setupTasks(UpdateSchedulerImpl.java:214)
[10/09/03 15:22:33:301 GMT] 00000034 SystemErr R at com.ibm.ws.management.application.SchedulerImpl.ru n(SchedulerImpl.java:250)
[10/09/03 15:22:33:301 GMT] 00000034 SystemErr R at java.lang.Thread.run(Thread.java:797)
1: package gov.fdc.nig.query.service.nig687;
2: import gov.fdc.common.table.Paging;
3: import gov.fdc.nig.query.service.params.NIG687Params;
4: /**
5: * @author albert
6: *
7: */
8: public interface Strategy {
9: Paging doQuery(NIG687Params params, final int rowsPerPage, final String sortDir);
10: }
1: package gov.fdc.nig.query.service.nig687;
2: import gov.fdc.common.table.Paging;
3: import gov.fdc.nig.query.service.params.NIG687Params;
4: /**
5: * @author albert
6: *
7: */
8: public class Context {
9: private Strategy strategy;
10: public void setNIGU001Strategy() {
11: this.strategy = new NIGU001Strategy();
12: }
13: public void setNIGU005Strategy() {
14: this.strategy = new NIGU005Strategy();
15: }
16: public void setNIGU008Strategy() {
17: this.strategy = new NIGU008Strategy();
18: }
19: public void setNIGU014Strategy() {
20: this.strategy = new NIGU014Strategy();
21: }
22: public void setNIGU015Strategy() {
23: this.strategy = new NIGU015Strategy();
24: }
25: public void setNIGU020Strategy() {
26: this.strategy = new NIGU020Strategy();
27: }
28: public void setNIGU021Strategy() {
29: this.strategy = new NIGU021Strategy();
30: }
31: public void setNIGU036Strategy() {
32: this.strategy = new NIGU036Strategy();
33: }
34: public void setNIGU037Strategy() {
35: this.strategy = new NIGU037Strategy();
36: }
37: public void setNIGU038Strategy() {
38: this.strategy = new NIGU038Strategy();
39: }
40: public void setNIGU039Strategy() {
41: this.strategy = new NIGU039Strategy();
42: }
43: public void setNIGU040Strategy() {
44: this.strategy = new NIGU040Strategy();
45: }
46: public void setNIGU042Strategy() {
47: this.strategy = new NIGU042Strategy();
48: }
49: public void setNIGU050Strategy() {
50: this.strategy = new NIGU050Strategy();
51: }
52: public void setNIGU081Strategy() {
53: this.strategy = new NIGU081Strategy();
54: }
55: public void setNIGU086Strategy() {
56: this.strategy = new NIGU086Strategy();
57: }
58: public Paging executeStrategy(NIG687Params params,final int rowsPerPage, final String sortDir) {
59: return strategy.doQuery(params, rowsPerPage, sortDir);
60: }
61: }
1: package gov.fdc.nig.query.service.nig687;
2: import gov.fdc.common.dao.wherecon.SimpleCriteria;
3: import gov.fdc.common.table.Paging;
4: import gov.fdc.nig.dao.Nigu001Dao;
5: import gov.fdc.nig.domain.Nigu001;
6: import gov.fdc.nig.domain.Nigu001PK;
7: import gov.fdc.nig.query.service.params.NIG687Params;
8: import org.apache.commons.lang.StringUtils;
9: import org.springframework.beans.factory.annotation.Autowired;
10: /**
11: * @author albert
12: *
13: */
14: public class NIGU001Strategy implements Strategy {
15: @Autowired
16: private transient Nigu001Dao nigu001Dao;
17: /* (non-Javadoc)
18: * @see gov.fdc.nig.query.service.nig687.Strategy#doQuery(gov.fdc.nig.query.service.params.NIG687Params)
19: */
20: @Override
21: public Paging doQuery(NIG687Params params, final int rowsPerPage, final String sortDir) {
22: final SimpleCriteria whereCondition = new SimpleCriteria();
23: Nigu001PK primaryKey = (Nigu001PK)params.getPrimaryKey();
24: if(StringUtils.isNotEmpty(primaryKey.getDlvUnit()) &&
25: StringUtils.isNotEmpty(primaryKey.getTaxCd()) &&
26: StringUtils.isNotEmpty(primaryKey.getDlvYr()) &&
27: StringUtils.isNotEmpty(primaryKey.getFlgTp()) &&
28: StringUtils.isNotEmpty(primaryKey.getSerialNo())){
29: whereCondition.eq("id.dlvUnit", primaryKey.getDlvUnit());
30: whereCondition.eq("id.taxCd", primaryKey.getTaxCd());
31: whereCondition.eq("id.dlvYr", primaryKey.getDlvYr());
32: whereCondition.eq("id.flgTp", primaryKey.getFlgTp());
33: whereCondition.eq("id.serialNo", primaryKey.getSerialNo());
34: }
35: // 取得排序方向, 如果有的話代表是要排序
36: if (sortDir != null){
37: whereCondition.orderBy("id", sortDir.equals("asc"));
38: }else{
39: whereCondition.orderBy("id", true); // 預設照seqNo由小到大排
40: }
41: // 執行查詢
42: return new Paging(new Nigu001(), null, whereCondition, rowsPerPage, 100, nigu001Dao);
43: }
44: }
1: package gov.fdc.nig.query.service.nig687;
2: import gov.fdc.common.dao.wherecon.SimpleCriteria;
3: import gov.fdc.common.table.Paging;
4: import gov.fdc.nig.dao.Nigu005Dao;
5: import gov.fdc.nig.domain.Nigu005;
6: import gov.fdc.nig.domain.Nigu005PK;
7: import gov.fdc.nig.query.service.params.NIG687Params;
8: import org.apache.commons.lang.StringUtils;
9: import org.springframework.beans.factory.annotation.Autowired;
10: /**
11: * @author albert
12: *
13: */
14: public class NIGU005Strategy implements Strategy {
15: @Autowired
16: private transient Nigu005Dao nigu005Dao;
17: /*
18: * (non-Javadoc)
19: *
20: * @see
21: * gov.fdc.nig.query.service.nig687.Strategy#doQuery(gov.fdc.nig.query.service
22: * .params.NIG687Params, int, java.lang.String)
23: */
24: @Override
25: public Paging doQuery(NIG687Params params, int rowsPerPage, String sortDir) {
26: final SimpleCriteria whereCondition = new SimpleCriteria();
27: Nigu005PK primaryKey = (Nigu005PK) params.getPrimaryKey();
28: if (StringUtils.isNotEmpty(primaryKey.getDlvUnit()) &&
29: StringUtils.isNotEmpty(primaryKey.getTaxCd()) &&
30: StringUtils.isNotEmpty(primaryKey.getDlvYr()) &&
31: StringUtils.isNotEmpty(primaryKey.getFlgTp()) &&
32: StringUtils.isNotEmpty(primaryKey.getSerialNo())) {
33: whereCondition.eq("id.dlvUnit", primaryKey.getDlvUnit());
34: whereCondition.eq("id.taxCd", primaryKey.getTaxCd());
35: whereCondition.eq("id.dlvYr", primaryKey.getDlvYr());
36: whereCondition.eq("id.flgTp", primaryKey.getFlgTp());
37: whereCondition.eq("id.serialNo", primaryKey.getSerialNo());
38: }
39: // 取得排序方向, 如果有的話代表是要排序
40: if (sortDir != null) {
41: whereCondition.orderBy("id", sortDir.equals("asc"));
42: } else {
43: whereCondition.orderBy("id", true); // 預設照seqNo由小到大排
44: }
45: // 執行查詢
46: return new Paging(new Nigu005(), null, whereCondition, rowsPerPage, 100, nigu005Dao);
47: }
48: }
1: public static void main(String[] args){
2: Context context;
3: //搜尋NIGU001 table的資料
4: context = new Context();
5: context.setNIGU001Strategy();
6: context.executeStrategy(params, rowsPerPage, sortDir);
7: //搜尋NIGU005 table的資料
8: context = new Context();
9: context.setNIGU005Strategy();
10: context.executeStrategy(params, rowsPerPage, sortDir);
11: }
Cannot invoke gov.fdc.nig.domain.Nigu038.setId on bean class 'class gov.fdc.nig.domain.Nigu038' - had objects of type "gov.fdc.nig.domain.Nigt038PK" but expected signature "gov.fdc.nig.domain.Nigu038PK"
1: @Entity
2: @EntityListeners({EntityListener.class})
3: @Table(name = "NIGT038")
4: public class Nigt038 extends DomainBase {
5: // Fields
6: private Nigt038PK id;
7: private String vioFactNm;
8: private Timestamp timeStamp;
9: private String updateCd;
10: private String userId;
11: private String updateDate;
12: //..........
1: @Entity
2: @EntityListeners({EntityListener.class})
3: @Table(name = "NIGU038")
4: public class Nigu038 extends DomainBase {
5: // Fields
6: private Nigu038PK id;
7: private String vioFactNm;
8: private Timestamp timeStamp;
9: private String userId;
10: private String updateDate;
11: //........
1: /**
2: * Copy properties.
3: *
4: * @param dest
5: * the dest
6: * @param source
7: * the source
8: */
9: public void copyProperties(Object dest, Object source) {
10: try {
11: PropertyDescriptor[] destDesc = PropertyUtils.getPropertyDescriptors(dest);
12: for (int i = 0; i < destDesc.length; i++) {
13: Class<?> destType = destDesc[i].getPropertyType();
14: Class<?> origType = PropertyUtils.getPropertyType(source, destDesc[i].getName());
15: if ((destType != null && destType.equals(origType) && !destType.equals(Class.class) && !"id"
16: .equals(destDesc[i].getName()))) {
17: Object value = PropertyUtils.getProperty(source, destDesc[i].getName());
18: PropertyUtils.setProperty(dest, destDesc[i].getName(), value);
19: }
20: }
21: } catch (IllegalAccessException e) {
22: e.printStackTrace();
23: } catch (InvocationTargetException e) {
24: e.printStackTrace();
25: } catch (NoSuchMethodException e) {
26: e.printStackTrace();
27: }
28: }
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [gov.fdc.nig.controlop.NIG225Manager] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException(DefaultListableBeanFactory.java:920)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:789)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:703)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:478)
... 42 more
/**
*
*/
package gov.fdc.nig.web.controlop.controller;
/**
* @author albert
*
*/
@Controller
@RequestMapping("/front/NIG225W")
public class NIG225Controller extends AbstractController {
@Autowired
private transient NIG225Manager nig225Manager;
}
@Service
public class NIG225ManagerImpl implements NIG225Manager {
}
ADMA0176E: Application installation of {0} faild with PrivilegedActionException. Ear file path is {1}.
org.apache.openjpa.persistence.ArgumentException: An error occurred while parsing the query filter "select t from Ybdt010 t where t.emplCd = ?1". Error message: The name "Ybdt010" is not a recognized entity or identifier. Perhaps you meant Nigt010, which is a close match. Known entity names: [Nigw001, Nigt010, Nigt055, Nigt011, Nigt012, JUTSysParam, Nigt013, Nigt036, Nigt037, Nigt038, Nigt039, JUTMsg, Nigt080, Nigt081, Nigt082, Nigt040, Nigt063, Nigt041, Nigt042, Nigt020, Nigt064, Nigt021, Nigt043, Nigt044, Nigt088, Nigt001, Nigt045, Nigt005, Nigt006, Nigt007, Nigt008, JUTCode]
at org.apache.openjpa.kernel.exps.AbstractExpressionBuilder.parseException(AbstractExpressionBuilder.java:118) ~[com.ibm.ws.jpa.jar:1.0.1-SNAPSHOT]
at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.getClassMetaData(JPQLExpressionBuilder.java:177) ~[com.ibm.ws.jpa.jar:1.0.1-SNAPSHOT]
at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.resolveClassMetaData(JPQLExpressionBuilder.java:150) ~[com.ibm.ws.jpa.jar:1.0.1-SNAPSHOT]
at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.getCandidateMetaData(JPQLExpressionBuilder.java:225) ~[com.ibm.ws.jpa.jar:1.0.1-SNAPSHOT]
at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.getCandidateMetaData(JPQLExpressionBuilder.java:195) ~[com.ibm.ws.jpa.jar:1.0.1-SNAPSHOT]
Ybdt010 ybdt010 = new Ybdt010();
1: org.apache.openjpa.persistence.NoResultException: The query on candidate type "class gov.fdc.nig.domain.Nigt020" with filter "select t1 from Nigt020 t1, Nigt022 t2 where t2.id.dlvUnit = ?1 and t2.id.taxCd = ?2 and t2.id.dlvYr = ?3 and t2.id.flgTp = ?4 and t2.id.serialNo = ?5 and t2.paraTp <> ?6 and t2.paraTp = t1.paraTp" was configured to have a unique result, but no instance matched the query.
2: at org.apache.openjpa.kernel.QueryImpl.singleResult(QueryImpl.java:1299) ~[com.ibm.ws.jpa.jar:1.0.1-SNAPSHOT]
3: at org.apache.openjpa.kernel.QueryImpl.toResult(QueryImpl.java:1221) ~[com.ibm.ws.jpa.jar:1.0.1-SNAPSHOT]
4: at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:990) ~[com.ibm.ws.jpa.jar:1.0.1-SNAPSHOT]
5: at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:805) ~[com.ibm.ws.jpa.jar:1.0.1-SNAPSHOT]
6: at org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:775) ~[com.ibm.ws.jpa.jar:1.0.1-SNAPSHOT]
7: at org.apache.openjpa.kernel.DelegatingQuery.execute(DelegatingQuery.java:533) ~[com.ibm.ws.jpa.jar:1.0.1-SNAPSHOT]
8: at org.apache.openjpa.persistence.QueryImpl.execute(QueryImpl.java:252) ~[com.ibm.ws.jpa.jar:1.0.1-SNAPSHOT]
9: at org.apache.openjpa.persistence.QueryImpl.getSingleResult(QueryImpl.java:317) ~[com.ibm.ws.jpa.jar:1.0.1-SNAPSHOT]
1: public Object createQueryForSingleResult(String jpql, Object[] params, Dao.PersistenceUnit persistenceUnitName) {
2: EntityManager em = getEntityManager(persistenceUnitName);
3: Query query = em.createQuery(jpql);
4: for (int i = 0; i < params.length; i++) {
5: query.setParameter(i + 1, params[i]);
6: }
7: return query.getSingleResult();
8: }
1: public Object createQueryForSingleResult(String jpql, Object[] params, Dao.PersistenceUnit persistenceUnitName) {
2: Object result = null;
3: EntityManager em = getEntityManager(persistenceUnitName);
4: Query query = em.createQuery(jpql);
5: for (int i = 0; i < params.length; i++) {
6: query.setParameter(i + 1, params[i]);
7: }
8: List list = query.getResultList();
9: if(!CollectionUtils.isEmpty(list)){
10: result = list.get(0);
11: }
12: return result;
13: }