Monthly Archives: 10月 2017

「Spring入門」form:optionをc:forEachを使用して生成するサンプル

Javaコード 

<form:select path=”cityId” id=”cityId” value=”cityVal”>

<form:option value=”defaultCityVal” label=”defaultCityVal” />

<c:if test=”xxx値”>

<c:if test=”${null != CityNameList}”>

<c:forEach var=”t” varStatus=”s” items=”${CityNameList}”>

<form:option value=”t.cityName}” label=”t.cityName” />

</c:forEach>

</c:if>

</c:if>

</form:select>

「Postgresql入門」RIGHT(LEFT) OUTER JOINでテーブル結合サンプル

1.RIGHT OUTER JOINでの外部結合

SELECT
T1.*,
T2.NAME NM_CFT
FROM
CARS T1
RIGHT OUTER JOIN COMPANY T2
ON T2.ID = T1.PRODUCT_ID
LEFT OUTER JOIN HOME T3
ON T3.ID = T1.PRODUCT_ID
AND T3.ID_MANAGE = T1.MANAGE;

2.LEFT OUTER JOINでの外部結合

SELECT
T1.* ,
T2.NAME NM_CFT
FROM
CARS T1
LEFT OUTER JOIN COMPANY T2
ON T2.ID = T1.PRODUCT_ID
LEFT OUTER JOIN HOME T3
ON T3.ID = T1.PRODUCT_ID
AND T3.ID_MANAGE = T1.MANAGE;

「Java入門」PropertyDescriptor で setter/getter メソッドを設定するコード

1.EntityUtils.java
import java.beans.PropertyDescriptor;
import java.lang.reflect.Method;

public class EntityUtils {

/**
* カプセル化されたエンティティオブジェクトに動的に値を設定します。
* @param entity エンティティオブジェクト
* @param propertyName プロパティ名
* @param value 設定する値
*/
public static final void setEntityValue(Object entity, String propertyName, Object value){
try {

// フィールド名とクラスをコンストラクタの引数にインスタンス生成
PropertyDescriptor pd = new PropertyDescriptor(propertyName, entity.getClass());
//setterメソッドを取得する
Method setterMethod = pd.getWriteMethod();
//setterメソッドを動的実行
setterMethod.invoke(entity, value);
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException(e);
}
}

/**
* カプセル化されたエンティティオブジェクトから動的に値を取得します。
* @param clazz エンティティのクラス
* @param entity エンティティオブジェクト
* @param propertyName プロパティ名
* @return エンティティオブジェクトのプロパティから取得した値。
*/
public static final Object getEntityValue(Object entity, String propertyName){
Object ret = null;
try {
// フィールド名とクラスをコンストラクタの引数にインスタンス生成
PropertyDescriptor pd = new PropertyDescriptor(propertyName, entity.getClass());
// getterメソッドを取得する
Method getterMethod = pd.getReadMethod();
// getterメソッドを動的実行
ret = getterMethod.invoke(entity);
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException(e);
}
return ret;
}

}

2.TestCC.java
import java.lang.reflect.Field;
import java.math.BigDecimal;
import java.util.Date;

public class TestCC {
public static void main(String[] args) {

TestDto cft = new TestDto();

// getDeclaredFields メソッドを使用
Field[] fields = cft.getClass().getDeclaredFields();

// メソッドを実行する際のパラメータ
Object[] paramsList = {Integer.valueOf(44), “テスト”, new BigDecimal(“33”), new Date()};

// 値の設定
for(int i = 0; i < fields.length; i++){
String propertyName = fields[i].getName();
try {
EntityUtils.setEntityValue(cft, propertyName, (Object)paramsList[i]);
} catch (Exception e) {
e.printStackTrace();
break;
}
}

// 値の出力
for(int i = 0; i < fields.length; i++){
String propertyName = fields[i].getName();
try {
System.out.println(EntityUtils.getEntityValue(cft, propertyName));
} catch (Exception e) {
e.printStackTrace();
break;
}
}
}

3.TestDto.java
import java.math.BigDecimal;
import java.util.Date;

public class TestDto {

private int obj1 = 0;
private String obj2;
private BigDecimal obj3;
private Date obj4;

public int getObj1() {
return obj1;
}
public void setObj1(int obj1) {
this.obj1 = obj1;
}
public String getObj2() {
return obj2;
}
public void setObj2(String obj2) {
this.obj2 = obj2;
}
public BigDecimal getObj3() {
return obj3;
}
public void setObj3(BigDecimal obj3) {
this.obj3 = obj3;
}
public Date getObj4() {
return obj4;
}
public void setObj4(Date obj4) {
this.obj4 = obj4;
}

}

参考URL
http://isann.blog2.fc2.com/blog-entry-221.html

「Spring入門」value 属性とmethod 属性の使い方

1.value属性
@RequestMapping(value = “/user”)
@RequestMapping(path = “/user”)

@RequestMapping(value = { “/”, “/index” })
@RequestMapping({ “/”, “/index” })

 

2.method属性
POSTリクエスト
@RequestMapping(path = “/input”, method = RequestMethod.POST)
GETリクエスト
@RequestMapping(path = “/input”, method = RequestMethod.GET)
両方のリクエスト
@RequestMapping(path = “/input”, method = { GET, POST })

「jQuery入門」function関数の使い方

JSコード:
$(function() {
$(‘#testButton’).click(doUserInfo);
function doUserInfo() {
var uuId = $(“#userId”).val();
$(‘#userId’).val(“changfatun” + uuId);

}
})

「jQuery入門」テキストボックス(textbox)内データの取得コード

JSコード:
jQuery(function ($) {
$(“#btnInfo”).click( function() {
var msgHint = “アカウント:”;
var cusData = $(“#txtCust”).val();
$(“#txtCust”).val( msgHint +cusData );
});
});

「jQuery入門」ラジオボタン(radio)、チェックボックス(checkbox)の値を取得する

1.radioの値を判定
var flag = $(“input[name=’radio”+i+”‘]:checked”).val();
alert(“11″+flag);

2.checkboxの値を判定
var items = document.getElementsByName(“chk”);
for(var i=0;i<items.length;i++){
if(items[i].checked){
alert(“22″+items[i]);
}
}

「Spring 入門」@ModelAttributeアノテーションを利用するサンプル

Javaコード:
@Controller
@RequestMapping(“students”)
public class StudentController {

@Autowired
StudentService studentService;

@ModelAttribute
StudentForm setUpForm() {
return new StudentForm();
}

@RequestMapping(value = “create”, method = RequestMethod.POST)
String create(@Validated StudentForm form, BindingResult result, Model model) {
if (result.hasErrors()) {
return list(model);
}
Student student = new Student();
BeanUtils.copyProperties(form, student);
studentService.create(student);
return “redirect:/students”;
}
//some code
}

「Spring入門」1つのform中に複数のsubmitボタン対応サンプル

1.JSPコード
<form action=”/employee/edit” method=”post” >
<input type=”text” id=”userName” name=”userName” />
<input type=”text” id=”addRess” name=”addRess” />

<input type=”submit” name=”doBack” value=”戻る” />
<input type=”submit” name=”doUpdate” value=”更新” />
</form>

 

2.Javaコード
@Controller
@RequestMapping(“employee”)
public class EmployeeController {

@RequestMapping(value = “edit”, params = “doBack”, method = RequestMethod.POST)
String doBack(/* xxx */) {
//some code
}

@RequestMapping(value = “edit”, params = “doUpdate”, method = RequestMethod.POST)
String doUpdate(/* xxx */) {
//some code
}
}

「Spring入門」form:selectとc:forEachを利用するサンプル

1.書式

<c:forEach items=”[コレクション]” var=”[変数名]”>

繰り返し処理

</c:forEach>
2.JSPコード

<form:select path=”userName” id=”userName”>

<form:option value=””></form:option>

<c:forEach var=”cft” items=”${userInfoList}”>

<form:option value=”${cft.stuId}” label=”${cft.stuName}” />

</c:forEach>

</form:select>