我刚刚遇到了如何使用单选按钮的问题.所以这是我的代码:在GSP中
<g:each in="${Query1}">
<label for="account_expired">Account Expired:</label><br />
<input type="radio" name="acc_expired" value="${it.acc_exp}" checked="checked"> True
<input type="radio" name="acc_expired" value="${it.acc_exp}"> False
<br />
</g:each>
Run Code Online (Sandbox Code Playgroud)
在我的控制器中:
if(params.username != null )
{
String updateQuery = "UPDATE sec_user SET account_locked='"+params.account_locked+"' WHERE Username='"+params.username+"'"
String queryname = "select * from sec_user where username = '"+params.username+"'"
def Query1 = sql.rows(queryname)
def update = sql.executeUpdate(updateQuery)
[update:update, Query1:Query1]
}
Run Code Online (Sandbox Code Playgroud)
所以,我要做的是如何通过单选按钮检查哪些值到哪个"已检查"单选按钮.因为我正在编辑页面,所以控制器将从数据库中检索信息并自动选择单选按钮,无论是"真"还是"假".在这种情况下,它是'1'或'0'.那么有没有人可以帮我这个?
非常感谢你们.
以下是我的样本控制器.
@RequestMapping(value = "/validate", method = RequestMethod.POST)
public String validatePage1 (@ModelAttribute("page1")
Page1 pg1, BindingResult result) {
System.out.println("Value1:" + pg1.getVal1() +
"Value2:" + pg1.getVal2());
return "page2"; // I don't want to take any action (page navigation) here
}
@RequestMapping("/page1")
public ModelAndView pageShow() {
return new ModelAndView("page1", "command", new Page1());
}
Run Code Online (Sandbox Code Playgroud)
现在问题是,当Spring框架调用方法(validatePage1)时,我不想在客户端采取任何操作,该怎么办?
实际上我在加载时已经在我的客户端加载了所有必需的页面(以避免重复的页面加载),所以我不想在客户端采取任何页面导航操作,我只是想做'数据绑定'来完成我的服务器端的业务逻辑.
当我在"validatePage1()"中返回""空字符串时,Spring框架抛出异常"请求处理失败;嵌套异常是org.apache.tiles.definition.NoSuchDefinitionException:",因为我使用的是tile,我必须稍后删除tile配置因为我在第一次加载时加载所有文件.
我正在构建一个Android移动应用程序,而对于我的服务器端,我使用CakePHP来响应JSON对象.我注意到默认情况下,CakePHP控制器必须有与之关联的视图.如何关闭它而只是返回JSON对象?
我试图覆盖Mage_Checkout_CartController的默认indexAction().我在app/local中创建了以下文件:
MyNamespace/cartStockCheck/controllers/CartController.php MyNamespace/cartStockCheck/etc/config.xml
还有app/etc/modules:MyNamespace_CartStockCheck.xml
似乎Magento拿起了我的扩展程序,因为我可以看到它在高级部分的管理员后端中列出,但除此之外我打开购物车时没有任何反应.
编辑:没有其他插件覆盖CartController.我还修复了indexAction中不正确的调用.仍然看不到我的文字在购物车中回响
编辑2:检查下面的答案.有用!
CartController.php的内容是:
<?php
require_once 'Mage/Checkout/controllers/CartController.php';
class MyNamespace_CartStockCheck_CartController extends Mage_Checkout_CartController
{
public function addAction()
{
echo 'test addAction';
parent::addAction();
}
public function indexAction()
{
echo 'test indexAction';
parent::addAction();
}
}
?>
Run Code Online (Sandbox Code Playgroud)
config.xml的内容:
<?xml version="1.0"?>
<config>
<modules>
<MyNamespace_CartStockCheck>
<version>0.1.0</version>
</MyNamespace_CartStockCheck>
</modules>
<frontend>
<routers>
<checkout>
<args>
<modules>
<MyNamespace_CartStockCheck before="Mage_Checkout">MyNamespace_CartStockCheck</MyNamespace_CartStockCheck>
</modules>
</args>
</checkout>
</routers>
</frontend>
</config>
Run Code Online (Sandbox Code Playgroud)
MyNamespace_CartStockCheck.xml的内容:
<?xml version="1.0"?>
<config>
<modules>
<MyNamespace_CartStockCheck>
<active>true</active>
<codepool>local</codepool>
</MyNamespace_CartStockCheck>
</modules>
</config>
Run Code Online (Sandbox Code Playgroud) 我已经试图搜索anwser ...我被卡住了.
我尝试在控制器之间进行通信(http://onehungrymind.com/angularjs-communicating-between-controllers/).
这对我来说很好.
在下一步中,我尝试添加一个ajax请求,结果应该发送给控制器.
该请求做他的工作,但不幸的是只在每第二请求.
AJAX请求
var request = $.post("http://www.mydomain.com/search.php", { data: "" });
request.done(function( data ) {
sharedService.prepForBroadcast(data);
});
};
Run Code Online (Sandbox Code Playgroud)
这有什么问题?
JAVASCRIPT
var myModule = angular.module('myModule', []);
myModule.factory('mySharedService', function($rootScope) {
var sharedService = {};
sharedService.message = '';
sharedService.prepForBroadcast = function(msg) {
this.message = msg;
this.broadcastItem();
};
sharedService.broadcastItem = function() {
$rootScope.$broadcast('handleBroadcast');
};
return sharedService;
});
function Controller($scope, sharedService) {
$scope.handleClick = function() {
var request = $.post("http://www.mydomain.com/search.php", { data: "" });
request.done(function( data ) …Run Code Online (Sandbox Code Playgroud) 我有以下控制器:
public JsonResult EquipmentSelect(string term)
{
var equipmentSearchViewModel = new EquipmentSearchViewModel
{
EquipmentList = iEquipmentRepository.FindBy(t => t.equipment_name.Contains(term)
|| t.equipment_id.Contains(term)),
};
var filteredEquipment = equipmentSearchViewModel.EquipmentList.ToList();
var sortableData = filteredEquipment.AsQueryable();
var jsonData = new
{
rows = (
from m in filteredEquipment
select new
{
equipment_id = m.equipment_id,
equipment_name = m.equipment_name
}
).ToArray()
};
return Json(jsonData, JsonRequestBehavior.AllowGet);
}
Run Code Online (Sandbox Code Playgroud)
和以下js文件:
$(function () {
$('#search').click(function () {
var searchText = $('#txtsearch').val();
getEquipment(searchText);
})
})
// View model declaration
var EquipmentViewModel = {
Profiles: ko.observableArray([]) …Run Code Online (Sandbox Code Playgroud) 我想在控制器中保存一个变量,以便能够将它用于所有方法,所以我声明了3个私有字符串
public class BankAccountController : Controller
{
private string dateF, dateT, accID;
//controller methods
}
Run Code Online (Sandbox Code Playgroud)
现在这个方法改变了它们的值:
[HttpPost]
public ActionResult Filter(string dateFrom, string dateTo, string accountid)
{
dateF = dateFrom;
dateT = dateTo;
accID = accountid;
//rest of the code
}
Run Code Online (Sandbox Code Playgroud)
我使用了一个断点,当我调用那个控制器方法时变量正在被更改,但是当我调用其他控制器方法时,如下面的私有字符串被重置为emtpy字符串,我该如何防止它发生?
public ActionResult Print()
{
return new ActionAsPdf(
"PrintFilter", new { dateFrom = dateF, dateTo = dateT, accountid = accID }) { FileName = "Account Transactions.pdf" };
}
public ActionResult PrintFilter(string dateFrom, string dateTo, string accountid)
{
CommonLayer.Account acc = …Run Code Online (Sandbox Code Playgroud) 我在理解MVC的概念和一次显示多个表单时遇到了根本问题.我尝试了各种各样的方法,但我仍然坚持 - 这是因为我认为我没有正确理解CI和MVC.
我试着为两种不同的形式使用2种不同的视图.没工作.我尝试在控制器中为每个表单使用一个函数.那也行不通.我不知道该怎么办.
我应该这样做吗?
6是我最大的问题.不知道该怎么做.例如,在成功完成表单后,我希望我的用户在所选位置创建了一个目录 - 所以我正在使用mkdir() - 所以我需要在validate()函数中使用if语句或者什么?
UPDATE
这是我到目前为止创建的代码;
控制器:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
Run Code Online (Sandbox Code Playgroud)
// Forms CodeIgniter控制器类Admin扩展CI_Controller {
// Controller constructor
public function __construct()
{
parent::__construct();
// Load form helper required to validate forms
$this->load->helper(array('form', 'url'));
$this->load->library('form_validation');
}
//*************************************************//
// Prepare data for the view to output the forms
public function index()
{
//*****************************************************//
//returns a drop down list of radio buttons, one …Run Code Online (Sandbox Code Playgroud) 我想在标题标签中的产品详细信息页面上显示类别名称.
例:
<title>Category name | Subcategory name | Product name</title>
Run Code Online (Sandbox Code Playgroud)
当前设置为(catalog/controler/product/product.php):
$this->document->setTitle($product_info['name']);
Run Code Online (Sandbox Code Playgroud) 假设我有一个用户表和一个活动表(带有user_id列),并且每个活动都有一个创建者(谁是用户),以及一个成员列表,他们也是(用户).所以我有
class UsersController < ApplicationController
has_many :campaigns
Run Code Online (Sandbox Code Playgroud)
和
class CampaignsController < ApplicationController
belongs_to :user
has_many :users
accept_nested_attributes_for :users
Run Code Online (Sandbox Code Playgroud)
但我收到一个错误:ActionController::RoutingError (undefined methodbelongs_to'for CampaignsController:Class)`
controller ×10
ajax ×2
asp.net-mvc ×2
php ×2
angularjs ×1
cakephp ×1
codeigniter ×1
database ×1
forms ×1
grails ×1
gsp ×1
jquery ×1
json ×1
knockout.js ×1
magento ×1
model ×1
opencart ×1
overriding ×1
radio-button ×1
spring ×1
view ×1
xml ×1